2012-03-28 65 views
0

在我们的项目,我们目前有一个主门户的log4j.xml,并在我们的项目,我们需要使用门户的log4j-ext.xml 在门户的log4j.xml来覆盖它,我们有所有的日志在默认情况下完成对控制台。如何将日志从控制台移动到文件?

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

在重写的门户log4j的-ext.xml文件中,我们有下面的代码:

<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

哎...找到了解决自己..不得不只需添加加=“假”的标签。这基本上会通过父标签再次跳过日志记录。更多信息:http://veerasundar.com/blog/2009/08/log4j-tutorial-additivity-what-and-why/ – simplysiby 2012-03-28 14:04:03

+0

你可以添加此评论作为答案,只要你可以? – adarshr 2012-03-28 15:32:26

回答

0

找到了解决自己..不得不只需添加相加=“假”记录标签。

这将基本上通过父标签跳过日志记录。

更多信息:Additivity - What and Why ?

相关问题