为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用一个log4j配置文件创建2个单独的日志文件?

如何使用一个log4j配置文件创建2个单独的日志文件?

慕沐林林 2019-10-25 09:56:21
我不知道如何配置我的log4j,以使我的debugLog和reportLog彼此分开(不是附加的)。为什么在以下配置中,reportsLog始终为空?log4j.rootLogger=TRACE, stdout, debugLoglog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d [%24F:%t:%L] - %m%nlog4j.appender.debugLog=org.apache.log4j.FileAppenderlog4j.appender.debugLog.File=logs/debug.loglog4j.appender.debugLog.layout=org.apache.log4j.PatternLayoutlog4j.appender.debugLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%nlog4j.reportsLog=DEBUG,reportsLoglog4j.appender.reportsLog=org.apache.log4j.FileAppenderlog4j.appender.reportsLog.File=logs/reports.loglog4j.appender.reportsLog.layout=org.apache.log4j.PatternLayoutlog4j.appender.reportsLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n这是我的Java代码:package test;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;public class HelloLogger {    static final Logger debugLog = Logger.getLogger("debugLog");    static final Logger resultLog = Logger.getLogger("reportsLog");    public static void main(String[] args) {        PropertyConfigurator.configure("log4j.properties");        debugLog.debug("Hello debugLog message");           resultLog.debug("Hello reportsLog message");    }   }
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

尝试以下配置:


log4j.rootLogger=TRACE, stdout


log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n


log4j.appender.debugLog=org.apache.log4j.FileAppender

log4j.appender.debugLog.File=logs/debug.log

log4j.appender.debugLog.layout=org.apache.log4j.PatternLayout

log4j.appender.debugLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n


log4j.appender.reportsLog=org.apache.log4j.FileAppender

log4j.appender.reportsLog.File=logs/reports.log

log4j.appender.reportsLog.layout=org.apache.log4j.PatternLayout

log4j.appender.reportsLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n


log4j.category.debugLogger=TRACE, debugLog

log4j.additivity.debugLogger=false


log4j.category.reportsLogger=DEBUG, reportsLog

log4j.additivity.reportsLogger=false

然后相应地用Java代码配置记录器:


static final Logger debugLog = Logger.getLogger("debugLogger");

static final Logger resultLog = Logger.getLogger("reportsLogger");

您要输出到stdout吗?如果不是,请将第一行更改log4j.properties为:


log4j.rootLogger=OFF

并摆脱stdout界限。


查看完整回答
反对 回复 2019-10-25
  • 2 回答
  • 0 关注
  • 397 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信