在尝试创建两个动态日志文件时,Mirth Connect正在挂起

时间:2013-04-16 07:24:34

标签: mirth

我在欢乐环境中创建了一个频道..在这个频道中,我编写了用于创建两个动态日志文件的javascript代码..无论何时我开始创建频道文件,但是欢乐连接被挂起(没有更多来到正常状态,我我每次都重新启动)..请帮助我......

---- logs.properties文件-----

log4j.rootLogger=DEBUG
log4j.logger.DEFAULT_LOGGER=INHERIT, A1
log4j.logger.PROCESS_LOGGER=INHERIT, A2

log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=c://test//${cname}//${fname}.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.maxFileSize=100KB
log4j.appender.A1.maxBackupIndex=10
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MMM-dd HH\:mm\:ss,SSS} [%t] %c %x%n      %-5p %m%n

log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=c://test//${cname}//${fname}_ack.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.maxFileSize=100KB
log4j.appender.A2.maxBackupIndex=10
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MMM-dd HH\:mm\:ss,SSS} [%t] %c %x%n  %-5p %m%n

------ javascript代码--------

importPackage(Packages.org.apache.log4j);
var channelName =       Packages.com.mirth.connect.server.controllers.ChannelController.getInstance().getDeployedChannelById(channelId).getName();
var currentDate = DateUtil.getCurrentDate("yyyyMMdd");
Packages.java.lang.System.setProperty("fname", currentDate);
Packages.java.lang.System.setProperty("cname", channelName);

PropertyConfigurator.configure("C:/Program Files/Mirth    Connect/conf/custom/logs.properties");

var logger1 = Logger.getLogger("DEFAULT_LOGGER");
 var logger2 = Logger.getLogger("PROCESS_LOGGER");

logger1.info("default");
logger2.info("process");

1 个答案:

答案 0 :(得分:0)

您可能会对Mirth Connect的实例施加限制以编写文件,尝试按如下方式包围您的代码:

var controller = Packages.java.security.AccessController.doPrivileged(
    Packages.java.security.PrivilegedAction(
         /* Your code goes here */
    )
); 

或者,您可以使用文件编写器目标创建两个单独的日志通道,并路由您在那里登录所需的内容。