这个问题在这里已有答案:
我有以下 log4j.properties 文件,默认的appender和特定类的单独的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设置为使用此 Logger ,
private final Logger log = LoggerFactory.getLogger(ReportUtil.class);
当我从ReportUtil登录时,它会写入两个appender - 我只希望它记录到 report . 我怎样才能做到这一点?