2012-03-28 19 views
0

、現在私たちがメインポータルのlog4j.xmlを持っており、私たちのプロジェクトでは、我々はポータルのlog4j.xmlでポータルのlog4j-ext.xml を使用して、それを上書きする必要があり、我々はすべてのログを持っていますデフォルトでコンソールに行われます。オーバーライドされたポータルのlog4j-ext.xmlファイルでコンソールからファイルにログを移動する方法は?私たちのプロジェクトで

<root> 
    <priority value="INFO" /> 
    <appender-ref ref="CONSOLE" /> 
    <appender-ref ref="FILE" /> 
</root> 

、我々は次のコードを持っている:

<appender name="FILE" class="org.apache.log4j.RollingFileAppender"> 
    <param name="maxFileSize" value="10000kb" /> 
    <param name="maxBackupIndex" value="20" /> 
    <param name="file" value="D:/myLogFile.log" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="&#37;d{ISO8601} &#37;-5p [&#37;C{1}] &#37;x: &#37;m&#37;n"/> 
    </layout> 
</appender>  

<logger name="com.company.layoutimporter"> 
    <level value="DEBUG" /> 
    <appender-ref ref="FILE" /> 
</logger> 

あなたが見ることができるように、私は、ファイルが書き込み可能になっていますが、そのログ内のコンソールも同様です。 私はこの特定のログファイル(コンソールではない)にのみパッケージ固有のメッセージを記録できるように、このデフォルトの動作を上書きすることができます。

ありがとうございます!

+2

はちょっと... ..ソリューションを自分自身を発見しただけタグに加法=「false」に追加する必要がありました。これは、基本的に親タグによるロギングをスキップします。詳細:http://veerasundar.com/blog/2009/08/log4j-tutorial-additivity-what-and-why/ – simplysiby

+0

可能な限り、このコメントを回答として追加できますか? – adarshr

答えて

0

解決策が見つかりました。additivity = "false"ロガータグに追加するだけでした。

これは、基本的に、親タグによるロギングをスキップします。

さらに詳しい情報:Additivity - What and Why ?

関連する問題