yuu_nkjm blog


2009-01-30(Fri) [長年日記]

[Java][log4j] log4jで複数のAppenderを指定する

以下の様に,二つのAppenderを指定できる.log4jの結果を,ファイルと標準出力の両方に出すことができる.以下,log4j.xmlのサンプル.(※)の箇所で,STDOUTとFILE_SIMに出力を渡している.

<logger name="info.nkjm"  />
    <level value="DEBUG" />
    <appender-ref ref="STDOUT" />    (※)
    <appender-ref ref="FILE_SIM" /> (※)
</logger>
<!-- ログファイル出力の定義 -->
<appender name="FILE_SIM" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="sim.log" />
    <param name="Append" value="false" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
               value="[%d{yyyy-MM-dd HH:mm:ss}] (%C:%L) %M() %-5p - \n    %m%n" />
    </layout>
</appender>
<!-- コンソール出力の定義 -->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
               value="[%d{yyyy-MM-dd HH:mm:ss}] (%C:%L) %M() %-5p - \n    %m%n" />
    </layout>
</appender>

rootや別のloggerなどとの設定を合成する場合は,Appender Additivityの設定が重要になる.
Log4j Appenders

Appender Additivity カテゴリーCのログ文の出力は Cとその祖先のすべてのappenderに行きます。 これが"appender additivity"という用語の意味です。 しかし、カテゴリーCの祖先が、Pで、 additivityフラグがfalseの場合、Cの 出力は、CのすべてのappenderとPに含まれる 祖先にあがりますが、Pの祖先にはいきません。 カテゴリーは、独自のadditivityフラグをtrue にデフォルトでセットします。
本日のリンク元
その他のリンク元
検索

トップ «前の日記(2009-01-26(Mon)) 最新 次の日記(2009-02-04(Wed))» 月表示 編集 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|