Java 如何在SLF4J中通过LOG4J使用不同的引用将日志写入不同的文件?

Java 如何在SLF4J中通过LOG4J使用不同的引用将日志写入不同的文件?,java,log4j,Java,Log4j,我试图将日志写入不同的文件;如果我使用logger1,它应该写入我的调试文件,如果我使用logger2,它应该写入我的报告文件夹 private static final Logger logger1= LoggerFactory.getLogger("debugLog"); private static final Logger logger2= LoggerFactory.getLogger("reportsLog"); 我的log4j属性文件如下: log4j.rootLog

我试图将日志写入不同的文件;如果我使用
logger1
,它应该写入我的调试文件,如果我使用
logger2
,它应该写入我的报告文件夹

private static  final Logger logger1= LoggerFactory.getLogger("debugLog");
private static  final Logger logger2= LoggerFactory.getLogger("reportsLog");
我的log4j属性文件如下:

    log4j.rootLogger=TRACE, stdout,debugLog,reportsLog
    log4j.logger.debugLog=TRACE,debugLog
    log4j.logger.reportsLog=DEBUG,reportsLog

    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.Threshold=TRACE
    log4j.appender.debugLog.File=C:\\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.Threshold=DEBUG
    log4j.appender.reportsLog.File=C:\\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

您有两个记录器,您有log4j配置。你真正的问题是什么?我的要求是当我使用log1引用时,它应该写入一个单独的文件,当我使用log2引用时,它应该写入两个文件中的一个单独的文件。我需要所有级别的消息都应该写入。你能帮我吗