当前位置: 首页 > 工具软件 > date4j > 使用案例 >

java slf4j日志级别,设置slf4j-simple日志级别

萧嘉茂
2023-12-01

###1、在程序中配置

slf4j-simple默认情况下只输出info以上(包含info)级别的日志。对于自己开发的小项目,很不愿意写一堆配置(log4j,logback)。 于是搜了一下,没找到用来设置的方法,却发现可以用运行参数来修改。

; clojure

(System/setProperty org.slf4j.impl.SimpleLogger/DEFAULT_LOG_LEVEL_KEY, "TRACE")

第二个参数应该是不区分大小写的。

###2、在启动参数中配置

当程序是通过web容器启动时,容器可能会在我们的代码执行之前初始化slf4j-simple,那么设置什么都没有用了(这点折磨了我很长时间)。此时我们可以在启动参数里(如果你不想见到碍眼的配置文件的话)。

java -Dorg.slf4j.simpleLogger.defaultLogLevel=trace xxxx

###3、配置文件

当然也可以通过配置文件来设置。只需要将配置写到simplelogger.properties,并放到classpath下即可。(未验证)

###4、其他可配置项

DEFAULT_LOG_LEVEL_KEY = org.slf4j.simpleLogger.defaultLogLevel

SHOW_DATE_TIME_KEY = org.slf4j.simpleLogger.showDateTime

DATE_TIME_FORMAT_KEY = org.slf4j.simpleLogger.dateTimeFormat

SHOW_THREAD_NAME_KEY = org.slf4j.simpleLogger.showThreadName

SHOW_LOG_NAME_KEY = org.slf4j.simpleLogger.showLogName

SHOW_SHORT_LOG_NAME_KEY = org.slf4j.simpleLogger.showShortLogName

LOG_FILE_KEY = org.slf4j.simpleLogger.logFile

LEVEL_IN_BRACKETS_KEY = org.slf4j.simpleLogger.levelInBrackets

WARN_LEVEL_STRING_KEY = org.slf4j.simpleLogger.warnLevelString

这里需要说的是logFile并不需要指定一个文件,例如logFile的默认值是"System.err"。当命令行不支持错误流时,我们可以把logFile设置成"System.out"。 如果设置某个值没有效果,可以跟一下org.slf4j.impl.SimpleLogger源码。

 类似资料: