我有以下log4j.properties
文件,默认的appender和特定类的单独的一个
log4j.rootLogger=DEBUG, STDOUT, default log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout log4j.appender.STDOUT.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.appender.default=org.apache.log4j.RollingFileAppender log4j.appender.default.File=my-log.log log4j.appender.default.layout=org.apache.log4j.PatternLayout log4j.appender.default.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.logger.com.app.util.ReportUtil=DEBUG, report log4j.appender.migrateReport=org.apache.log4j.RollingFileAppender log4j.appender.migrateReport.File=logs/report.log log4j.appender.migrateReport.layout=org.apache.log4j.PatternLayout log4j.appender.migrateReport.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
ReportUtil设置为使用此记录器
private final Logger log = LoggerFactory.getLogger(ReportUtil.class);
当我从ReportUtil登录时,它会写入两个appender - 我只希望它记录到report
。我怎样才能做到这一点?
答案 0 :(得分:4)
尝试将此log4j.additivity.com.app.util.ReportUtil = false
添加到您的配置中。
答案 1 :(得分:0)
尝试从rootLogger中删除默认值。我相信当你在rootLogger中指定了默认值时,它将始终被调用。