我在日志文件中收到重复的log4j信息消息。我已尝试通过log4j.properties设置可添加性,正如其他一些线程所建议的那样,但它不起作用。奇怪的是每次都有相同的4行重复。以下是代码段:
Properties prop = new Properties();
prop.setProperty("log4j.category.com.abc.def.rate.trans","DEBUG, INFOLOG, ERRLOG");
prop.setProperty("log4j.appender.INFOLOG","org.apache.log4j.FileAppender");
prop.setProperty("log4j.appender.INFOLOG.File", infoFn);
prop.setProperty("log4j.appender.INFOLOG.layout","org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.INFOLOG.layout.ConversionPattern","%d - %m%n");
prop.setProperty("log4j.appender.INFOLOG.Threshold","INFO");
prop.setProperty("log4j.appender.ERRLOG","org.apache.log4j.FileAppender");
prop.setProperty("log4j.appender.ERRLOG.File", errFn);
prop.setProperty("log4j.appender.ERRLOG.layout","org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.ERRLOG.layout.ConversionPattern","%d - %m%n");
prop.setProperty("log4j.appender.ERRLOG.Threshold","ERROR");
PropertyConfigurator.configure(prop);
String headerInfoStr = getHeaderInfo();
s_log.info(headerInfoStr);
s_log.error(headerInfoStr);
headerInfoStr是被复制的输出,后续对s_log.info和s_log.error的调用不会重复。