2015-05-06 241 views
0

我一直在嘗試將控制檯的日誌記錄更改爲控制檯以及文件。看看log4j的大文檔,我能夠添加appender,如下面的代碼所示。但是,我似乎沒有獲取指定文件中的日誌。log4j配置問題

任何想法可能是錯誤的?這裏是我的log4j.xml(已經位於src /)

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> 

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Threshold" value="DEBUG"/> 
     <param name="Target" value="System.out"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
     </layout> 
    </appender> 
    <appender name="FILE" class="org.apache.log4j.RollingFileAppender"> 
     <param name="append" value="false" /> 
     <param name="file" value="/data/MFlogs/log.log"/> 
     <param name="immediateFlush" value="true"/> 
     <param name="threshold" value="debug"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
     </layout> 
    </appender> 


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

</log4j:configuration> 

回答

0

更改文件路徑標記。嘗試用雙斜槓。 value =「// data // MFlogs // log.log」

+0

我試過了。沒有工作。 – Ashwin

+0

爲什麼你使用XML文件,你可以用屬性文件做同樣的事情。在xml中如果有空格,它會產生問題。嘗試複製內容,然後從XML中刪除它,再次保存空白文件粘貼並保存。 –

+0

在xml中一切看起來不錯,有時候eclipse/IDE沒有解析xml文件,請嘗試重新啓動eclipse/IDE。 –

0

嘗試將完整路徑添加到路徑位置或將${catalina.home}/logs/myApp.log添加到它。

閱讀this問題,它告訴如何使用相對路徑。如果使用properties文件而不是xml文件很容易。

+0

好吧,我很困惑。你問我使用絕對還是相對?我正在使用的是絕對路徑。 'value =「/ data/MFlogs/log.log」/>' 我會盡量用親戚的。 – Ashwin

+0

如果是絕對路徑,請檢查位置的權限或其他問題。 –

+0

這三個人都擁有正確的擁有者。這真是令人費解。 – Ashwin