2016-08-22 58 views
0

我知道,問題看起來有點混亂。讓我詳細解釋一下。有什麼方法可以在Log4j日誌消息中顯示用戶數據?

我有一些數據,我想每次在Logger與用戶消息一起顯示。

Ex。 log4j.appender.filer.layout.ConversionPattern=%-5p %d{yyyyddMM-HH:mm:ss} %m%n
控制檯: WARN 20162208-18:34:35測試信息

這是我在Log4j.properties文件,它的工作絕對沒問題設置的圖案。

現在問題出現時,我想添加一些用戶數據在這種模式。這個用戶數據將會是一些值,將從用戶輸入中提取。用戶數據後,控制檯應該有的事情是這樣的:
控制檯: WARN USER_DATA 20162208-18:34:35測試信息

所以我的問題是,我們可以設置/測量數據記錄模式發送的用戶數據?

我看過一些例子,其中用戶擴展了Appender類,並覆蓋了append()方法。但我正在尋找一些不同的方法。

+0

你想在每一個日誌*用戶數據*? –

+0

@TAsk是的!這是正確的.. –

回答

1

要在記錄器條目中動態放置上下文數據,請使用Log4j中的MDC功能。

下面是一個例子:

// JAVA CODE 
org.apache.log4j.MDC.put("User_data", "this is my user data"); 

// Log4j Pattern 
%X{User_data} 
+0

謝謝你的建議!但是由於數據是從用戶在運行時提供的用戶輸入中提取的,所以不可能將數據保存在環境變量中。 –

+0

我修改了我的回答,以便在記錄器條目中顯示動態數據。 – eighthrazz

+0

謝謝!你讓我今天一整天都感覺很好!!! –

相關問題