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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

014_logback中的SiftingAppender

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

1. 如其名, SiftingAppender能按照給定的運行時屬性, 對記錄進行分離或篩選。例如, SiftingAppender能根據用戶會話對記錄事件進行分離, 這樣, 每個用戶生成的記錄會進入不同的記錄文件, 一個用戶一個文件。

2. SiftingAppender內置并且管理多個appender, 這些appender是按照區別值(discriminating value)而動態構建的。在配置文件里的SiftingAppender定義的內部, 指定構建好的appender。默認情況下, SiftingAppender用MDC的鍵/值對作為鑒別器(discriminator)。

3. SiftingAppender配置

<appender name="sift" class="ch.qos.logback.classic.sift.SiftingAppender"> <discriminator> <Key>userid</Key> <DefaultValue>unknown</DefaultValue></discriminator> <sift class="ch.qos.logback.classic.sift.MDCBasedDiscriminator"> <appender name="FILE-${userid}" class="ch.qos.logback.core.FileAppender"> <File>${userid}.log</File> <Append>true</Append> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><Pattern>%-4relative [%thread] %-5level - %msg%n</Pattern></encoder></appender></sift> </appender>

4. 如果沒有指定class屬性, 則默認為"MDCBasedDiscriminator"(ch.qos.logback.classic.sift.MDCBasedDiscriminator), 它用"Key"屬性關聯的MDC值作為鑒別器。如果值為null, 則使用"DefaultValue"關聯的值。

5. SiftingAppender是唯一能夠引用和配置嵌套appender的appender。在上面的例子里, 在SiftingAppender里有嵌套的FileAppender實例, 每個實例都用MDC鍵"userid"所關聯的值作標識。每當MDC鍵"userid"關聯一個新值時, 就會從頭創建一個新的FileAppender實例。SiftingAppender監視被它創建的appender, 如果appender在30分鐘內沒被使用, 則會被自動關閉和丟棄。僅擁有不同的appender實例是不夠得, 每個實例還必須輸出到不同的資源。為實現這種差異, 在嵌套appender(上面的FileAppender)里, 傳遞給鑒別器的鍵(上面的"userid")變成了變量。所以, 這個變量可用來區分嵌套appender所使用的實際資源。

6. 例子

6.1.?新建一個名為SiftingAppender的Java項目, 同時添加相關jar包

6.2.?在src目錄下新建logback.xml

<configuration debug="true"><appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%-4relative [%thread] %-5level - %msg%n</pattern></encoder></appender><appender name="sift" class="ch.qos.logback.classic.sift.SiftingAppender"> <discriminator> <Key>userid</Key> <DefaultValue>unknown</DefaultValue></discriminator> <sift class="ch.qos.logback.classic.sift.MDCBasedDiscriminator"> <appender name="FILE-${userid}" class="ch.qos.logback.core.FileAppender"> <File>${userid}.log</File> <Append>true</Append> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><Pattern>%-4relative [%thread] %-5level - %msg%n</Pattern></encoder></appender></sift></appender><root level="debug"><appender-ref ref="stdout" /><appender-ref ref="sift" /></root></configuration>

6.3.?新建Sifting.java

package com.fj;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC;public class Sifting {private static final Logger logger = LoggerFactory.getLogger(Sifting.class);public static void main(String[] args) {logger.error("如其名, SiftingAppender能按照給定的運行時屬性, 對記錄進行分離或篩選。");logger.warn("例如, SiftingAppender能根據用戶會話對記錄事件進行分離, ");logger.info("這樣, 每個用戶生成的記錄會進入不同的記錄文件, 一個用戶一個文件。");logger.debug("SiftingAppender內置并且管理多個appender");MDC.put("userid", "100001");logger.error("這些appender是按照區別值(discriminating value)而動態構建的。");logger.warn("在配置文件里的SiftingAppender定義的內部, 指定構建好的appender。");logger.info("默認情況下, SiftingAppender用MDC的鍵/值對作為鑒別器(discriminator)。");logger.debug("如果沒有指定class屬性, 則默認為\\\"MDCBasedDiscriminator\\\"");MDC.put("userid", "100002");logger.error("(ch.qos.logback.classic.sift.MDCBasedDiscriminator)");logger.warn("它用\\\"Key\\\"屬性關聯的MDC值作為鑒別器。");logger.info("如果值為null, 則使用\"DefaultValue\"關聯的值。");logger.debug("SiftingAppender是唯一能夠引用和配置嵌套appender的appender。");} }

6.4.?運行項目控制臺輸出

6.5.?同時生成了unknown.log、100001.log和100002.log三個日志文件

總結

以上是生活随笔為你收集整理的014_logback中的SiftingAppender的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 我要色综合网 | 超碰偷拍 | 三级在线看中文字幕完整版 | 好吊妞视频在线观看 | 精品人妻一区二区三区换脸明星 | 欧美日韩字幕 | 亚洲免费视频网 | 精品动漫一区二区三区的观看方式 | 91看片免费版 | 日韩激情免费 | 91精品在线免费观看 | 欧美日韩一区二区三区不卡视频 | 五月的婷婷 | 日本在线观看 | 日本偷拍一区 | 日本人妻伦在线中文字幕 | 国产日韩欧美二区 | 国产av一区二区三区精品 | www.69pao.com | 欧美黄色a级 | 一区二区高清在线 | 国产欧美一区二区精品性色 | 日韩免| 一级黄色片在线播放 | 美女视频在线免费观看 | 欧美日韩女优 | 男人的天堂视频在线观看 | 亚洲一区二区国产精品 | 特黄一级视频 | 欧美激情va永久在线播放 | 风流少妇一区二区三区91 | 9人人澡人人爽人人精品 | 日本中文在线观看 | 毛片网站免费在线观看 | 男人天堂视频网 | 欧美日韩综合在线 | 中文字幕永久 | 日日干天天射 | 国产精选久久 | 男男啪啪网站 | 国产一级二级三级视频 | 国产在线黄色 | 国产一级一级国产 | 国产亚洲AV无码成人网站在线 | 精品人妻一区二区三区蜜桃 | 黑人玩弄人妻一区二区三区免费看 | 日韩精品网址 | 男女无套免费视频网站动漫 | av三级在线播放 | 色香影院 | 精品国产免费av | 国产精品国产三级国产专区53 | 欧美一级黄| 欧美综合区 | 国产成人精品一区二区三区免费 | 色诱av | 女人高潮娇喘声mp3 乱色视频 | 2023av在线| 全黄性性激高免费视频 | 亚洲特黄 | 亚洲欧美综合自拍 | 精品国产aⅴ一区二区三区四川人 | 69人人 | 成人aaaaa| 色涩网站 | 少妇精品久久久一区二区三区 | 午夜丁香网 | 欧美瑟瑟 | 成人福利小视频 | 亚洲午夜久久久久 | 久久久久久久久久久久久久久久久久久 | 韩国黄色片网站 | 成 人片 黄 色 大 片 | 欧美 日本 国产 | 人妻av一区二区三区 | 欧美人妻一区二区 | 中国1级毛片 | 最新中文字幕在线观看 | 92国产精品 | 欧美视频在线观看 | 亚洲区av | 91在线视频在线观看 | 亚洲tv在线观看 | 日韩av无码一区二区三区不卡 | 男女污污软件 | 欧美日韩亚洲在线 | 欧美一级片免费在线观看 | 日日噜噜夜夜狠狠久久丁香五月 | 91久久国产综合久久91 | 岛国大片在线免费观看 | 日本一二三区在线视频 | 亲子乱对白乱都乱了 | 久久爱成人 | 国产精品无码久久久久成人app | 久久日韩精品 | 黄色片视频免费观看 | 成年人晚上看的视频 | 国产成人在线精品 | 亚洲精品高潮久久久久久久 |