2017-04-10 8 views
-1

私は複数のロガーを持っているので、名前でロガーを取得したいが、メッセージをロギングしているクラスのクラス名は印刷します。援助を感謝します。名前でロガーを取得し、クラス名を印刷

例:

<!--Loggers...--> 
<logger name="LoggerA"><appender-ref="AppenderA"></appender></logger> 
<logger name="LoggerB"><appender-ref="AppenderB"></appender></logger> 
<logger name="LoggerC"><appender-ref="AppenderC"></appender></logger> 

は、これらのロガーのそれぞれが異なる*.logファイルに書き込むことを想定します。各ファイル内の

<<From ClassXYZ>> 
private static final Logger LOGA = LoggerFactory.getLogger("LoggerA"); 
private static final Logger LOGB = LoggerFactory.getLogger("LoggerB"); 
private static final Logger LOGC = LoggerFactory.getLogger("LoggerC"); 

、次の文があるでしょう:

2017-04-06 18:23:12,538 [main] [] INFO LoggerA - <<Some Log Message>> 

2017-04-06 18:23:12,538 [main] [] INFO LoggerB - <<Some Log Message>> 

2017-04-06 18:23:12,538 [main] [] INFO LoggerC - <<Some Log Message>> 

私はそれのようにログを記録するために必要/期待しかし:

2017-04-06 18:23:12,538 [main] [] INFO ClassXYZ - <<Some Log Message>> 

2017-04-06 18:23:12,538 [main] [] INFO ClassXYZ - <<Some Log Message>> 

2017-04-06 18:23:12,538 [main] [] INFO ClassXYZ - <<Some Log Message>> 

私のパターンは次のとおりです。

%d [%thread] [%X{CONTEXT}] %-5level %logger{70} - %msg%n 
+0

を参照することができ、プライベート静的最終ロガーLOGA = LoggerFactory.getLogger(ClassXYZ.class)のために、この作業です。 ? – utkusonmez

答えて

0

あなたのパターンでe%l、クラス名と共に印字コード番号を気にしないでください。

PSは、%lはlog4jの設定ファイルである、あなたはlogback使用している場合、Logback pattern equivalent of log4j %l

関連する問題