我在欢乐环境中创建了一个频道..在这个频道中,我编写了用于创建两个动态日志文件的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");
答案 0 :(得分:0)
您可能会对Mirth Connect的实例施加限制以编写文件,尝试按如下方式包围您的代码:
var controller = Packages.java.security.AccessController.doPrivileged(
Packages.java.security.PrivilegedAction(
/* Your code goes here */
)
);
或者,您可以使用文件编写器目标创建两个单独的日志通道,并路由您在那里登录所需的内容。