【发布时间】:2016-04-29 08:45:42
【问题描述】:
我使用了RollingFileAppender 和 logger 类将日志打印到文件中,我没有单独的配置文件。
public void logBIHAuditMessage(String message, Level level, String Location) {
try {
RollingFileAppender fileAppender = new RollingFileAppender(new PatternLayout(
"%d{DATE} %p %M %m %n"), "C:\\Logfiles\\Audit.log", true);
fileAppender.setMaxFileSize("5MB");
fileAppender.setMaxBackupIndex(5);
fileAppender.activateOptions();
LOG.addAppender(fileAppender);
LOG.info(message);
fileAppender.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
logBIHAuditMessage 在 Apache camel 应用程序中的多个位置被调用。
由于使用fileAppender.close();,我遇到了错误
10:36:39,715 错误 [stderr](Camel (camel-9) 线程 #20 - JmsConsumer[BIH_A1_Req_INHQ])log4j:ERROR Attempted to append to closed appender named [null]。
如果我不关闭文件附加程序,则会多次打印相同的日志。
如果我不使用 synchronized 关键字,一些日志也会被打印多次,您能告诉我可能是什么问题吗?
【问题讨论】:
标签: java logging log4j apache-camel