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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM