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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

为什么log4j的概念模型是错的--zlog的模型简介

發布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么log4j的概念模型是错的--zlog的模型简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

? ? 假設你的log4j系統中有這樣的配置

log4j.logger.aa=ERROR, A1 log4j.logger.aa.bb= log4j.logger.aa.cc=INFO

? ? aa是一個父logger。aa.bb和aa.cc是aa的子logger。

? ? aa.bb繼承了aa's等級和輸出(appender),等級是ERROR,輸出是A1。

? ? aa.cc繼承并覆蓋了aa的級別。所以aa.cc的等級是INFO輸出還是A1。

? ? 需求1:如果我現在想把所有的aa的日志,所有的級別,輸出到一個特別的文件里面去,并保持原來的aa.bb、aa.cc的輸出不變,如何實現?

? ? 需求2:假設我動了aa.bb的代碼,想在生產上把aa.bb的所有日志,從DEBUG級別開始輸出到某個aa.bb.debug.log,而保持aa的ERROR以上級別的日志不動(方便運維人員不改變他們的習慣,直接看原來的日志)

? ?log4j將會如何實現這些需求?很困難,也許要在appender上引入閾值(threshold),或者引入子logger不繼承父logger的選項。子logger可以自己指定一個等級,或者從父logger那里繼承一個。但說到底,log4j的logger必須有且只能有一個等級,等級和logger是綁定的。

? ?zlog將會如何實現這些需求?首先,zlog繼承了syslog配置文件的思想,一個分類的不同等級可以同時存在不同的規則內。這就讓過濾同一分類的不同等級的日志到不同日志文件成為可能。

aa.debug “/var/log/aa.debug.log” aa.=notice “/var/log/aa.notice.log”

是不是覺得自由了很多?

? ? 其次,在zlog里面,所有的規則之間都是獨立的,沒有父子關系。綱目分類的關系表現在分類字符串中間的下劃線。舉例:

#rule 1 aa_bb.DEBUG “/var/log/aa_bb.log”#rule 2 aa_cc.INFO “/var/log/aa_cc.log”#rule 3 aa_.ERROR “/var/log/aa_error.log”#rule 4 aa.* “/var/log/aa.log”

沒有繼承,只有4條獨立的規則。如果代碼里面的分類名是“aa_bb”。代碼就像這樣:

category_t ab;ab = zlog_get_category(“aa_bb”);ZLOG_DEBUG(ab, “ab's debug”); ZLOG_ERROR(ab, “ab's error”);

? ? 配置中,rule 1的分類字符串”aa_bb”和rule 3的分類字符串”aa_”,與代碼中的名字為”aa_bb”的分類變量是匹配的。于是代碼中屬于aa_bb分類變量、>=DEBUG日志輸出到aa_bb.log,屬于aa_bb分類變量、>=ERROR會被輸出到 aa_error.log。ERROR等級的日志會被同時寫在兩個文件里面。不過rule 4的變量字符串是”aa”,它不匹配分類變量”aa_bb”,它精確匹配擁有“aa”名字的分類變量。

? ? 這就是綱目分類模型。規則和規則之間是分開的。一個代碼分類變量可以匹配多個規則分類字符串,一個規則可以屬于多個代碼分類變量。規則中的綱分類字符串(以下劃線結尾的)匹配代碼中的目分類變量,綱分類字符串的范圍包括了了目分類字符串。這樣,用戶可以選擇任意范圍的綱目分類字符串來輸出,而不影響其他規則的行為。

? ? 事實上,在zlog_get_category()被調用的時候,并不保證代碼分類變量一定有相匹配的規則分類字符串。分類變量可以有很多與之匹配的規則,也有可能一條都沒有,這取決于配置文件是怎么寫的。當配置文件改變并調用zlog_reload()后,代碼分類變量和規則分類字符串的匹配會被重新計算。根據上面所說的匹配方式,每個分類變量都會從新的配置文件里面找到自己的新規則。

? ? 也就是說,在zlog里面,多輸出是由多條規則來實現的,而不是log4j的多個appender。一條規則代表程序員對于某種分類和等級的日志的輸出需求。沒有必要指定某個分類必須為什么等級。分類、等級、輸出這3者可以自由搭配,完全解耦,這樣就帶來了極大的靈活性。

? ?必須感謝unix系統syslog的設計者,從思想上來說,zlog只是在他們的基礎上增加了一點點的改動來匹配綱目分類,但靈活性遠超java系列的綁定思想。也許log4j的設計者被繼承這兩個字晃花了眼,以為繼承就是解決一切問題的靈丹妙藥……

轉載于:https://my.oschina.net/HardySimpson/blog/53183

總結

以上是生活随笔為你收集整理的为什么log4j的概念模型是错的--zlog的模型简介的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本午夜免费福利视频 | 久久久久成人精品无码 | 操大爷影院 | 亚洲v视频| 久久精品久久精品 | 国产一区二区黑人欧美xxxx | 午夜涩涩| 动漫精品一区一码二码三码四码 | 一个人在线观看免费视频www | 99ri国产在线 | 三级三级久久三级久久18 | 污视频在线免费观看 | 国产第一亚洲 | 四虎国产精品永久在线国在线 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 亚洲一区不卡在线 | 亚洲成人免费在线 | 久久久久国产精品区片区无码 | 亚洲欧美国产精品久久久久久久 | 久久极品| 97久久久久久 | 91精品久久久久久久久久久 | 午夜精品视频一区二区三区在线看 | 狠狠干狠狠干狠狠干 | 麻豆啪啪 | 日韩特一级 | 91免费看片 | 女同一区二区三区 | 国产av成人一区二区三区 | 亚洲一区二区三区四区 | 波多野吉衣视频在线观看 | 欧美精品一区视频 | 亚洲五月天综合 | 好色综合 | 欧美生活一级片 | 女人性高潮视频 | 潘金莲激情呻吟欲求不满视频 | 国产精品亚洲а∨天堂免在线 | 亚洲黄色一区二区三区 | 国产精品高潮呻吟久久aⅴ码 | 男女做爰真人视频直播 | 欧美日韩综合在线观看 | 经典三级av在线 | 在线观看国产视频 | 日韩av综合网| 久久久久久久久网站 | 久国产 | 桃色视屏 | 日本a天堂 | 国产一区二区三区久久久 | 色综合a| 97公开视频 | 好吊视频一区二区三区四区 | 亚洲午夜精品久久久 | 亚洲狼人在线 | 亚洲成人va | 痴女扩张宫交脱垂重口小说 | 五十路母 | 欧美日韩亚洲不卡 | 蜜桃av噜噜一区二区三区网址 | 综合色av | 亚洲精品高清视频在线观看 | 欧美成人不卡视频 | 男人天堂视频在线 | 在线观看中文 | 台湾无码一区二区 | 日韩欧美在线中文字幕 | 人妻精品久久久久中文 | 中国一级免费毛片 | 亚州黄色| 国产伦理一区二区 | 国产精品色在线网站 | 日韩av麻豆 | 日本精品免费在线观看 | 久草中文在线观看 | 天天夜夜久久 | 精品日韩一区二区 | 日韩av无码中文字幕 | 五月天激情影院 | 国产人妻一区二区 | 麻豆影音先锋 | 99这里有精品视频 | 男人你懂的网站 | 男人久久久 | 黄色免费网站在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 一级片在线观看视频 | 亚洲欧美日韩精品永久在线 | 亚洲av无码久久精品狠狠爱浪潮 | 国产无遮挡又黄又爽免费视频 | 日韩伦理在线视频 | 一区二区三区www污污污网站 | 久久免费观看视频 | 超碰免费成人 | 中字av在线 | 日本黄色xxx | 喷水av | 情趣五月天 | 国产内谢 |