一、背景
人在it江湖,免不了要排查bug,查線上伺服器日誌,可浩如煙海的日誌裡面,如果沒有乙個唯一key將同乙個執行緒列印的日誌串聯起來,那可大大不妙。如何做到這一點呢。我們的主角,log4j的mdc,ndc出來了
二、實現思路以及關鍵**
1、用***或者filter將所有**的入口攔截住,且在***的裡面,業務方法執行之前,寫如下**:
// 日誌增加唯一標識
long starttime = systemtimer.currenttimemillis();
ndc.push(starttime + "_" + thread.currentthread().getid());
在***的業務方法執行完畢之後,寫如下**:
// 釋放記憶體,清除標記
ndc.pop();
ndc.remove();
ndc.clear();
2、log4j.xml配置
conversionpattern之前新增 [%x]
例如:[1393425548560_1][2014-02-26 22:39:22 warn com.qunar.fax.biz.send.sendfaxbizimpl:96] 生成tif檔案內容為空!
log4j日誌系統 Log4j
1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...
常用log4j配置
常用log4j配置,一般可以採用兩種方式,properties和.xml,下面舉兩個簡單的例子 一 log4j.properties 設定org.zblog域對應的級別info,debug,warn,error和輸出地a1,a2 log4j.category.org.zblog error,a1 l...
常用log4j配置
常用log4j配置,一般可以採用兩種方式,properties和.xml,下面舉兩個簡單的例子 一 log4j.properties 設定.zblog域對應的級別info,debug,warn,error和輸出地a1,a2 log4j.category.zblog error,a1 log4j.ca...