我们正在尝试在我们的项目中使用Log4j2。我们想通过属性文件配置 Log4j2。
为了减少日志中的噪音,我们希望将根记录器设置为
info
并仅为特定记录器或包设置调试日志记录。我们如何为每个正在开发的类配置日志记录级别,而不获取所有其他记录器的调试消息?
这是我们在项目中使用的示例:
status = warn
name = StackOverflow
# Console appender configuration
appender.console.type = Console
appender.console.name = consoleLogger
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d [%p] %c{1} - %m%n
# Root logger level
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = consoleLogger
# Only this class should be logging debug events
logger.mylogger.name = com.example.ClassUnderDevelopment
logger.mylogger.level = DEBUG
配置 Log4j2 为不同类(命名记录器)启用不同日志级别所需的属性是什么?
Log4j2 允许您动态指定
names
和 level
:
logger.mylogger.name = com.example.ClassUnderDevelopment
logger.mylogger.level = DEBUG
logger.myotherlogger.name = com.example.AnotherClassUnderDevelopment
logger.myotherlogger.level = TRACE
As long as the second segment in the property key is unique, different configurations can be specified.