如何在java中使用5个log4j属性生成5个(多于2个)日志文件
如何在java中使用5个log4j属性生成5个(多于2个)日志文件,我使用了2个文件,工作正常,但我需要创建2个以上的文件,但创建的文件不超过2个 谢谢 配置:如何在java中使用5个log4j属性生成5个(多于2个)日志文件,java,Java,如何在java中使用5个log4j属性生成5个(多于2个)日志文件,我使用了2个文件,工作正常,但我需要创建2个以上的文件,但创建的文件不超过2个 谢谢 配置: # This is first log file log4j.rootLogger=INFO, file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C://First_logger.out log4j.a
# This is first log file
log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C://First_logger.out
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
# This is second log file
log4j.rootLogger=INFO, SecondLog
log4j.appender.SecondLog=org.apache.log4j.RollingFileAppender
log4j.appender.SecondLog.File=C://second-report.out
log4j.appender.SecondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.SecondLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.SecondLogger=DEBUG, SecondLog
log4j.additivity.SecondLogger=false
# This is Third log File
log4j.rootLogger=INFO, ThirdLog
log4j.appender.ThirdLog=org.apache.log4j.RollingFileAppender
log4j.appender.ThirdLog.File=C://third-report.out
log4j.appender.ThirdLog.layout=org.apache.log4j.PatternLayout
log4j.appender.ThirdLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.ThirdLogger=DEBUG, ThirdLog
log4j.additivity.ThirdLogger=false
我重现了这个配置的问题,第一个logger.out没有被创建,但是第二个report.out和第三个report.out被创建 如果我们为第一个块添加以下行,将生成三个文件:
log4j.category.fileLogger=DEBUG, file
此外,如果第一个文件的块与原始配置一起放在配置文件的末尾,也会生成这三个文件。目前,我不知道为什么块的顺序很重要。我重现了这个配置的问题,第一个logger.out没有创建,但是第二个report.out和第三个report.out是 如果我们为第一个块添加以下行,将生成三个文件:
log4j.category.fileLogger=DEBUG, file
此外,如果第一个文件的块与原始配置一起放在配置文件的末尾,也会生成这三个文件。现在,我不知道为什么块的顺序很重要。嘿,我找到了解决这个问题的方法。我创建了多个log4j属性文件,但是, 实际上,我们必须为多个属性文件只写一个log4j属性文件,因为它不工作,log4j只初始化一个属性文件,所以我们必须写一个log4j文件,在该文件中我们必须配置其他多个记录器。如下
# This is only one log4j property file
log4j.rootLogger=INFO, file, SecondLog, ThirdLog
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C://First_logger.out
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.fileLogger=DEBUG, file
log4j.appender.SecondLog=org.apache.log4j.RollingFileAppender
log4j.appender.SecondLog.File=C://second-report.out
log4j.appender.SecondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.SecondLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.SecondLogger=DEBUG, SecondLog
log4j.additivity.SecondLogger=false
log4j.appender.ThirdLog=org.apache.log4j.RollingFileAppender
log4j.appender.ThirdLog.File=C://third-report.out
log4j.appender.ThirdLog.layout=org.apache.log4j.PatternLayout
log4j.appender.ThirdLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.ThirdLogger=DEBUG, ThirdLog
log4j.additivity.ThirdLogger=false
嘿,我找到了解决办法。我创建了多个log4j属性文件,但是, 实际上,我们必须为多个属性文件只写一个log4j属性文件,因为它不工作,log4j只初始化一个属性文件,所以我们必须写一个log4j文件,在该文件中我们必须配置其他多个记录器。如下
# This is only one log4j property file
log4j.rootLogger=INFO, file, SecondLog, ThirdLog
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C://First_logger.out
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.fileLogger=DEBUG, file
log4j.appender.SecondLog=org.apache.log4j.RollingFileAppender
log4j.appender.SecondLog.File=C://second-report.out
log4j.appender.SecondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.SecondLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.SecondLogger=DEBUG, SecondLog
log4j.additivity.SecondLogger=false
log4j.appender.ThirdLog=org.apache.log4j.RollingFileAppender
log4j.appender.ThirdLog.File=C://third-report.out
log4j.appender.ThirdLog.layout=org.apache.log4j.PatternLayout
log4j.appender.ThirdLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n
log4j.category.ThirdLogger=DEBUG, ThirdLog
log4j.additivity.ThirdLogger=false
有机会切换到Logback吗??您是否调试过它以查看失败的地方?记录器是否加载附加器?是否抛出异常?我没有得到任何异常或错误切换到Logback的机会??您是否调试过它以查看失败的地方?记录器是否加载附加器?它是否引发异常?我没有收到任何异常或错误哪一个文件不是您创建的?这是第一个吗,就像我的一样?如果我对三个块的类别进行注释,则只会创建第三个report.out。顺便说一句,我对C目录没有写访问权限,所以我使用C://a/First\u logger.out路径进行测试。首先创建的是哪个实例,仅创建了两个文件,对我来说,第一个和第二个文件并没有创建第三个,然后继续。您没有创建哪个文件?这是第一个吗,就像我的一样?如果我对三个块的类别进行注释,则只会创建第三个report.out。顺便说一句,我对C目录没有写访问权限,所以我使用C://a/First\u logger.out路径进行测试。首先创建的是哪个实例,只创建了两个文件,对我来说,第一个和第二个文件不是第三个,然后继续。