如何在 simplelogger.properties 中为 SLF4J-simple 设置不同包的日志记录级别

Sau*_*ade 5 java logging log4j slf4j

在 simplelogger.properties 文件中,我们可以将默认日志级别设置为

org.slf4j.simpleLogger.defaultLogLevel=error
Run Code Online (Sandbox Code Playgroud)

但是如果要为特定包设置日志记录级别,那么该怎么做呢?例如如果包名是

com.xxx.yyy

那么如果我把它放在 simplelogger.properties 中

com.xxx.yyy.level=error
Run Code Online (Sandbox Code Playgroud)

那么它不起作用。如何配置它?

小智 9

SLF4J SimpleLogger在它的 Javadoc 中有它的所有文档

正如它所说,

org.slf4j.simpleLogger.log.a.b.c- 名为“abc”的 SimpleLogger 实例的日志详细信息级别。右侧值必须是“trace”、“debug”、“info”、“warn”、“error”或“off”之一。当一个名为“abc”的 SimpleLogger 被初始化时,它的级别是从这个属性分配的。如果未指定,将使用最近的父记录器的级别,如果没有设置,则将使用指定的值org.slf4j.simpleLogger.defaultLogLevel

所以你需要在你的 simplelogger.properties 中包含这样的一行:

org.slf4j.simpleLogger.log.com.xxx.yyy=error
Run Code Online (Sandbox Code Playgroud)

如果您开始需要比 SLF4J SimpleLogger 更复杂的日志系统,那么您可能希望切换到使用 Log4j 或 Logback 之类的东西。