一、Logback日誌級別配置
Logback日誌級別共分為OFF、ERROR、WARN、INFO、DEBUG、TRACE和ALL 7個等級,按照從靜默到詳細的級別遞增,OFF表示最高等級禁用所有日誌記錄,ALL表示最低等級啟用全部日誌記錄。默認日誌級別為DEBUG。
我們可以通過在logback.xml文件中配置root節點下的level屬性或者logger節點下的level屬性來配置日誌級別。
二、Logback日誌級別高低
Logback日誌級別按照從靜默到詳細的級別遞增,我們可以通過設置不同的日誌級別來調整日誌輸出的詳細程度。當日誌級別設置為ERROR時,只會輸出最嚴重的錯誤信息;當日誌級別設置為TRACE時,會輸出最詳細的調試信息。不同的業務需求需要設置不同的日誌級別。
三、Logback.xml日誌級別
logback.xml文件是Logback的配置文件,在這個文件中我們可以對Logback進行個性化的配置,比如設置日誌的級別、輸出路徑等。我們可以使用下面的代碼來配置日誌級別:
四、Logback動態切換日誌級別
在開發的過程中,有時候需要動態地修改日誌級別。我們可以通過logback的Mbean來實現動態修改日誌級別的需求。下面是一個簡單的示例:
//通過重載MBean對象,動態修改日誌級別 public void changeLogLevel(String loggerName, String level){ LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); Logger targetLogger = loggerContext.getLogger(loggerName); targetLogger.setLevel(Level.toLevel(level)); }
五、Logback日誌列印級別
Logback日誌列印級別指的是輸出在終端的日誌級別。我們可以通過配置ConsoleAppender節點下的encoder屬性來設置輸出在終端的日誌級別。如下所示:
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{15} - %msg%n UTF-8
六、Logback日誌過濾某個包
有時候我們需要將某一特定包中的日誌過濾掉,我們可以使用過濾器實現該功能。比如我們需要將Spring框架中的日誌過濾掉,可以使用以下代碼:
D:/logs/encryptor.%d{yyyy-MM-dd}.%i.log.gz 50MB 30 %-5level [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %logger : %message%n return (message.contains("org.springframework.")); DENY NEUTRAL
七、Logback配置日誌路徑
我們可以通過配置logback.xml中的appender節點的fileName屬性來設置日誌文件的輸出路徑:
/usr/local/tomcat/logs/MyProject.log /usr/local/tomcat/logs/MyProject.%d{yyyy-MM-dd}.%i.log.gz 50MB 30 %-5level [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %logger : %message%n
八、Logback非同步日誌配置
在高並發的情況下,同步日誌會對應用程序的性能造成影響。我們可以通過Logback的非同步日誌來解決這個問題。使用非同步日誌時,日誌事件先被存放在一個隊列中,然後由一個獨立的線程來處理隊列中的日誌事件。以下是一個非同步日誌的配置示例:
原創文章,作者:XVHT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136541.html