【问题标题】:Disable log4j console logging and enable file logging禁用 log4j 控制台日志记录并启用文件日志记录
【发布时间】:2011-05-23 10:30:55
【问题描述】:

我的 log4j.properties 文件是:

log4j.rootLogger=WARN, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %p [%c] - %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${jboss.server.log.dir}/afrodite.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %p [%c] - %m%n

log4j.logger.info.release.scheduler=INFO, scheduler
log4j.appender.scheduler=org.apache.log4j.RollingFileAppender
log4j.appender.scheduler.File=${jboss.server.log.dir}/afrodite_scheduler.log
log4j.appender.scheduler.MaxFileSize=10MB
log4j.appender.scheduler.MaxBackupIndex=10
log4j.appender.scheduler.Append=true
log4j.appender.scheduler.layout=org.apache.log4j.PatternLayout
log4j.appender.scheduler.layout.ConversionPattern=%d [%t] %p [%c] - %m%n 

如果我想禁用 scheduler logger 的控制台输出,我应该怎么做?这意味着调度程序记录器只登录文件而不是控制台。

感谢和问候。

【问题讨论】:

    标签: java logging log4j


    【解决方案1】:

    将此行添加到您的配置中:

    罢工>

    log4j.appender.scheduler.additivity=false
    

    log4j.additivity.info.release.scheduler=false
    

    (对不起,第一个提示不正确。)

    【讨论】:

    • 如何在 Java 中做到这一点?
    【解决方案2】:

    您可以在属性文件中添加两行。

    log4j.rootLogger=ALL, stdout, file,scheduler   (#here ALL declare for all level of logs)
    
    log4j.logger.info.release.scheduler=INFO, scheduler
    log4j.additivity.info.release.scheduler=false
    

    【讨论】: