###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源码。