Java 单个记录器的每个附加器的日志级别
是否可以基于appender为单个记录器配置不同的日志级别 我意识到这与此类似,这是我自己已经得到的,但问题是阈值适用于所有记录到该appender的记录器,而我只希望阈值适用于单个记录器 i、 e.到目前为止,我有这样的想法:Java 单个记录器的每个附加器的日志级别,java,logging,log4j,Java,Logging,Log4j,是否可以基于appender为单个记录器配置不同的日志级别 我意识到这与此类似,这是我自己已经得到的,但问题是阈值适用于所有记录到该appender的记录器,而我只希望阈值适用于单个记录器 i、 e.到目前为止,我有这样的想法: log4j.rootLogger=WARN, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Threshold=WARN log4j.append
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.mylogger=DEBUG,logfile
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern=${roll.pattern.daily}
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.logfile.File=mylogfile.log
我希望mylogger调试消息被发送到日志文件附件,但我也希望mylogger信息消息被发送到stdout附件(但对于所有其他记录器,仅警告)。使用Threshold to limit stdout to WARN限制mylogger的输出,我通过更改
log4j.appender.stdout.Threshold=WARN
到
第一次应该更加小心。我建议使用XML格式,它更容易理解,而且它公开了属性文件无法提供的功能。很好!一年后,这对我非常有用:-D不过我是在运行时从应用程序内部这样做的:myAppender.setThreshold(Level.INFO)。log4j2呢?
log4j.appender.stdout.Threshold=INFO