简体   繁体   English

如何使用java中的5个log4j属性生成5个(超过2个)日志文件

[英]How to generate 5(more than 2) log files using 5 log4j properties in java

How to generate 5(more than 2) log files using 5 log4j properties in java, I done with 2 files it's working fine but I need to create more than 2 files but it's not creating more than 2 files. 如何使用java中的5个log4j属性生成5个(超过2个)日志文件,我用2个文件完成它工作正常但我需要创建2个以上的文件,但它不会创建2个以上的文件。

Thanks. 谢谢。

configuration: 组态:

    # 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

I reproduce the problem with this configuration, the First_logger.out is not created but second-report.out and third-report.out are. 我使用此配置重现问题, First_logger.out未创建,但second-report.outthird-report.out是。

The three files are generated if we add the following line for the first block: 如果我们为第一个块添加以下行,则会生成三个文件:

log4j.category.fileLogger=DEBUG, file

Besides, the three files are also generated if the block for the first file is put at the end of the configuration file, with the original configuration. 此外,如果将第一个文件的块放在配置文件的末尾,并使用原始配置,也会生成这三个文件。 Ath the moment, I don't know why the order of blocks matters. 目前,我不知道为什么块的顺序很重要。

Hey I got the solution for this. 嘿,我得到了解决方案。 I created multiple log4j property file's but, Actually we have to write only one log4j property file for multiple property file it not working, log4j initialize only one property file so we have to write 1 log4j file and in that file we have to configure other multiple loggers. 我创建了多个log4j属性文件但是,实际上我们只需要为多个属性文件只写一个log4j属性文件它不能正常工作,log4j只初始化一个属性文件所以我们要编写1个log4j文件,在那个文件中我们必须配置其他多个记录仪。 Like below 如下

    # 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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM