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

我不知道如何配置我的log4j,以使我的debugLog和reportLog彼此分开(不是附加的)。为什么在以下配置中,reportsLog始终为空?


log4j.rootLogger=TRACE, stdout, debugLog


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.reportsLog=DEBUG,reportsLog

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

这是我的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");

    }   

}


慕沐林林
浏览 398回答 2
2回答

呼啦一阵风

尝试以下配置:log4j.rootLogger=TRACE, stdoutlog4j.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.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%nlog4j.category.debugLogger=TRACE, debugLoglog4j.additivity.debugLogger=falselog4j.category.reportsLogger=DEBUG, reportsLoglog4j.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界限。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java