2016-08-22 7 views
0

私は知っている、質問はちょっと混乱しているようだ。私はそれを詳細に説明しましょう。Log4jロギングメッセージにユーザーデータを表示する方法はありますか?

私は、ユーザメッセージと共にLoggerに毎回表示したいデータがあります。

Ex。 log4j.appender.filer.layout.ConversionPattern=%-5p %d{yyyyddMM-HH:mm:ss} %m%n
コンソール :が20162208から18をWARN:34:35のテスト情報

これは私が絶対に正常に動作Log4j.propertiesファイルに設定したパターです。

このパターンでいくつかのユーザーデータを追加するときに問題が発生します。このユーザデータは、ユーザ入力から取得されるある値になります。
コンソール:ユーザーデータの後、コンソールは、このようないくつかのことを見なければならないので、私の質問は、私たちは/設定できますロガーのパターンでユーザデータを送信された35の試験情報

:34:はUSER_DATA 20162208から18をWARN ?

私はユーザーが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

ありがとうございました!あなたは私の一日を作った! –

関連する問題