slf4j-simple配置

最近在使用一个开源工具FlowDroid使用的日志记录是slf4j-api与slf4j-simple,于是收集了一下关于slf4j-simple的配置。

在程序中配置

lf4j-simple默认情況下只输出info以上(包含info)级別的日志。对于自己开发的小项目,很不愿意写一堆配置(log4j,logback)。 于是搜了一下,沒找到用來设置的方法,却发现可以用运行参数來修改。
(System/setProperty org.slf4j.impl.SimpleLogger/DEFAULT_LOG_LEVEL_KEY, "TRACE")

在启动参数中配置

当程序是通过web容器启动时,容器可能会在我们的代码执行之前初始化slf4j-simple,那么设置什么都沒有用了(这点折磨了我很长时间)。此時我们可以在启动参数里(如果你不想见到繁琐的配置文件的話)。
java -Dorg.slf4j.simpleLogger.defaultLogLevel=trace xxxx

配置文件

当然也可以通过配置文件來设置。只需要将配置写道simplelogger.properties,并放到classpath下即可。

其他可配置项

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

class SimpleLogger

posted @ 2015-01-11 11:57  cyy_cnblog  阅读(6629)  评论(0编辑  收藏  举报