日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

日志配置logback

發布時間:2024/4/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日志配置logback 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在選擇項目日志框架時,發現log4j的作者開發了新的日志框架,據說性能提高不少,那就選它了,不過,除了配置上有點不習慣外,最重要的一點 ,打印線程號這個功能依然沒有(打印線程名這個東西是在是個雞肋)。在log4j的時代,改寫PatternLayout 就可以實現打印線程號,參考另外一篇文章日志配置log4j 打印線程號?。但是最新版的logback貌似不支持改寫PatternLayout, 糾結,擱置一段時間后,是在受不了,繼續研究,翻閱N篇文檔,雖然沒有找到具體方法,但是受到了一些啟發,最終找到方法了,在此與大家分享。

  • 在pom.xml中引入依賴(如果你的項目不是Maven的,祝福你)

    12345678910111213141516<dependency>????<groupId>org.slf4j</groupId>????<artifactId>slf4j-api</artifactId>????<version>${slf4j.version}</version></dependency><dependency>????<groupId>ch.qos.logback</groupId>????<artifactId>logback-classic</artifactId>????<version>1.0.13</version></dependency> <!-- 代碼直接調用log4j會被橋接到slf4j --><dependency>????<groupId>org.slf4j</groupId>????<artifactId>log4j-over-slf4j</artifactId>????<version>${slf4j.version}</version></dependency>

  • 新建Encoder類和Converter類

    12345678910public class LogBackExEncoder extends PatternLayoutEncoder {????static {????????PatternLayout.defaultConverterMap.put("T", ThreadNumConverter.class.getName());????????PatternLayout.defaultConverterMap.put("threadNum", ThreadNumConverter.class.getName());????}????@Override????public void doEncode(ILoggingEvent event) throws IOException {????????super.doEncode(event);????}}
    123456789public class ThreadNumConverter extends ClassicConverter {????/**???????* 當需要顯示線程ID的時候,返回當前調用線程的ID???????*/????@Override????public String convert(ILoggingEvent event) {????????return String.valueOf(Thread.currentThread().getId());????}}

  • 在配置文件中調用自己的Encoder

    123456<!-- 控制臺輸出 --><appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">??<encoder charset="UTF-8" class="ch.qos.logback.core.encoder.LogBackExEncoder">????<pattern>[APP_LOG] %date [%T] %-5level (%logger{80}.%method:%line - %msg%n</pattern>??</encoder></appender>

    其中[%T] 就是用于打印線程號的

  • 日志效果


    附上我的logback配置文件





  • 附件列表

    ?

    轉載于:https://www.cnblogs.com/juforg/p/3488740.html

    總結

    以上是生活随笔為你收集整理的日志配置logback的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。