激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - logback使用filter過濾日志操作

logback使用filter過濾日志操作

2020-09-18 13:13justry_deng JAVA教程

這篇文章主要介紹了logback使用filter過濾日志操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

筆者語錄: 我發現我喜歡搗鼓一些小玩意兒,雖然官網(見文末)寫得很明白了,但是咱們對感興趣的部分來敲一遍代碼好吧。

過濾器簡介:

簡介

logback具有過濾器支持。logbcak允許給日志記錄器appender配置一個或多個Filter(或者給整體配置一個或多個TurboFilter),來控制:當滿足過濾器指定的條件時,才記錄日志(或不滿足條件時,拒絕記錄日志)。logback支持自定義過濾器,當然logback也自帶了一些常用的過濾器,在絕大多數時候,自帶的過濾器其實就夠用了,一般是不需要自定義過濾器的。

logback提供的過濾器支持主要分兩大類

ch.qos.logback.core.filter.Filter

logback使用filter過濾日志操作

ch.qos.logback.classic.turbo.TurboFilter

logback使用filter過濾日志操作

過濾器 來源 說明 相對常用
LevelFilter Filter 對指定level的日志進行記錄(或不記錄),對不等于指定level的日志不記錄(或進行記錄)
ThresholdFilter Filter 對大于或等于指定level的日志進行記錄(或不記錄),對小于指定level的日志不記錄(或進行記錄)
提示:info級別是大于debug的
EvaluatorFilter Filter 對滿足指定表達式的日志進行記錄(或不記錄),對不滿足指定表達式的日志不作記錄(或進行記錄)
MDCFilter TurboFilter 若MDC域中存在指定的key-value,則進行記錄,否者不作記錄
DuplicateMessageFilter TurboFilter 根據配置不記錄多余的重復的日志
MarkerFilter TurboFilter 針對帶有指定標記的日志,進行記錄(或不作記錄)

若過濾器已經返回了需要記錄,那么就一定會對該日志進行記錄(不論當前日志的level是否大于等于系統設置的最低日志級別)。

TurboFilter的性能是優于Filter的,這是因為TurboFilter的作用時機是在創建日志事件ILoggingEvent對象之前,而Filter的作用時機是在創建之后。若一個日志注定是會被過濾掉不記錄的,那么創建ILoggingEvent對象(包括后續的參數組裝方法調用等)這個步驟無疑是非常消耗性能的。

過濾器的FilterReply狀態枚舉:

對于Filter而言,需不需要記錄日志,取決于ch.qos.logback.core.filter.Filter#decide方法的返回:

logback使用filter過濾日志操作

Filter與TurboFilter自帶的幾種常用過濾器

對于TurboFilter而言,需不需要記錄日志,取決于ch.qos.logback.classic.turbo.TurboFilter#decide方法的返回:

logback使用filter過濾日志操作

可以看到,返回的都是FilterReply這個枚舉:

logback使用filter過濾日志操作

FilterReply有三種枚舉值:

DENY:表示不用看后面的過濾器了,這里就給拒絕了,不作記錄。

NEUTRAL:表示需不需要記錄,還需要看后面的過濾器。若所有過濾器返回的全部都是NEUTRAL,那么需要記錄日志。

ACCEPT:表示不用看后面的過濾器了,這里就給直接同意了,需要記錄。

過濾器的使用(示例):

使用LevelFilter的logback.xml(示例):

logback使用filter過濾日志操作

測試一下:

編寫測試方法:

logback使用filter過濾日志操作

運行方法,產出日志:

logback使用filter過濾日志操作

使用ThresholdFilter的logback.xml(示例):

logback使用filter過濾日志操作

測試一下:

編寫測試方法:

logback使用filter過濾日志操作

運行方法,產出日志:

logback使用filter過濾日志操作

使用EvaluatorFilter的logback.xml(示例):

需要引入額外的解析庫依賴janino:

<dependency>
  <groupId>org.codehaus.janino</groupId>
  <artifactId>janino</artifactId>
  <version>3.1.2</version>
</dependency>

logbaxk.xml

logback使用filter過濾日志操作

測試一下:

編寫測試方法:

logback使用filter過濾日志操作

運行方法,產出日志:

logback使用filter過濾日志操作

使用MDCFilter的logback.xml(示例):

測試一下:

logback使用filter過濾日志操作

編寫測試方法:

logback使用filter過濾日志操作

運行方法,產出日志:

logback使用filter過濾日志操作

自定義過濾器:

自定義Filter:

編寫自定義Filter

logback使用filter過濾日志操作

在logback.xml中配置使用此過濾器

logback使用filter過濾日志操作

測試一下:

編寫測試方法:

logback使用filter過濾日志操作

運行方法,產出日志:

logback使用filter過濾日志操作

自定義TurboFilter:

編寫自定義TurboFilter

logback使用filter過濾日志操作

在logback.xml中配置使用此過濾器

logback使用filter過濾日志操作

測試一下:

編寫測試方法:

logback使用filter過濾日志操作

運行方法,產出日志:

logback使用filter過濾日志操作

logback使用filter過濾日志,初步學習完畢!

以上這篇logback使用filter過濾日志操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/justry_deng/article/details/108074525

延伸 · 閱讀

精彩推薦
1596
主站蜘蛛池模板: 56av国产精品久久久久久久 | wankzhd| 国产精品视频在线观看免费 | 91成人一区 | 中文字幕一区2区 | 黄色免费小视频网站 | 91高清网站| 欧美一级在线看 | 午夜在线视频一区二区三区 | 久草影音| 看一级大毛片 | 国产毛片在线 | 亚洲成人激情在线 | 欧美午夜网 | 日本高清在线免费 | 一区二区三区欧美在线观看 | asian裸体佳人pics | 被啪羞羞视频在线观看 | 中国大陆一级毛片 | 粉嫩av一区二区三区四区在线观看 | 欧美一级片在线 | 久久影院免费观看 | 337p日本欧洲亚洲大胆精蜜臀 | 免费看一级视频 | 免费在线观看毛片视频 | 色中色综合网 | 欧美一级黄色免费看 | 久久久一区二区三区四区 | 国产一级大片 | 毛片免费在线 | 精品久久久久久久久亚洲 | 国产精品成人一区二区三区电影毛片 | 久久久久久久一区二区三区 | 欧美日本91精品久久久久 | 精品国产乱码一区二区 | 最新中文字幕在线视频 | 久久金品 | 久久久久久久亚洲视频 | 日韩在线观看视频一区 | 欧美日韩a∨毛片一区 | 一区二区三区日韩电影 |