log4j配置级别错误
我的log4j配置如下log4j配置级别错误,log4j,Log4j,我的log4j配置如下 log4j.rootLogger=INFO, CA, FA, DA #Console Appender log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n #File
log4j.rootLogger=INFO, CA, FA, DA
#Console Appender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=/home/admin/logs/sysout.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.FA.Threshold = WARN
#File Appender 2
log4j.appender.DA=org.apache.log4j.FileAppender
log4j.appender.DA.File=/home/admin/logs/debug.log
log4j.appender.DA.layout=org.apache.log4j.PatternLayout
log4j.appender.DA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.DA.Threshold = TRACE
我的理解是
你能告诉我我做错了什么吗你需要在头脑中区分记录器和附加器的概念 对于这三个appender,请记住阈值是appender将处理的最低级别的消息。appender将以其阈值级别或任何更高级别处理消息 CA没有设置阈值,因此它将记录发送给它的所有消息,而不考虑级别。类似地,DA有一个跟踪阈值,因此它还将记录发送给它的所有内容(因为跟踪是最低级别的)。FA有一个警告阈值,因此它将过滤掉低于警告级别的任何消息-它将只包含警告、错误和致命消息
前一段的重要部分是“发送给它的所有信息”。由于您已使用INFO级别配置了根记录器,并且没有将任何特定记录器配置为较低级别,因此只有INFO和更高级别的消息将发送到appenders-调试和跟踪消息将被静默删除。这就是为什么您在任何记录器中都看不到跟踪输出。您需要在头脑中分离记录器和附加器概念 对于这三个appender,请记住阈值是appender将处理的最低级别的消息。appender将以其阈值级别或任何更高级别处理消息 CA没有设置阈值,因此它将记录发送给它的所有消息,而不考虑级别。类似地,DA有一个跟踪阈值,因此它还将记录发送给它的所有内容(因为跟踪是最低级别的)。FA有一个警告阈值,因此它将过滤掉低于警告级别的任何消息-它将只包含警告、错误和致命消息 前一段的重要部分是“发送给它的所有信息”。由于您已使用INFO级别配置了根记录器,并且没有将任何特定记录器配置为较低级别,因此只有INFO和更高级别的消息将发送到appenders-调试和跟踪消息将被静默删除。这就是为什么在任何记录器中都看不到跟踪输出