2014-07-10 105 views
1

我正在嘗試使用slf4j-log4j12爲我的應用程序實現日誌記錄。我配置了一切,並且它在我以獨立模式測試時運行良好。現在我已經在tomcat中部署了它,它停止了工作!它只是在控制檯中打印日誌(甚至是我用slf4j創建的日誌),但不是在文件中!Tomcat和SLF4J - 不會將日誌寫入文件

這裏是我的log4j.xml:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender"> 
     <param name="Threshold" value="INFO" /> 
     <param name="File" value="assp.log" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" /> 
     </layout> 
    </appender> 

    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d %-5p %c{1} - %m%n" /> 
     </layout> 
    </appender> 

    <root> 
     <priority value="debug" /> 
     <appender-ref ref="fileAppender" /> 
     <appender-ref ref="console" /> 
    </root> 
</log4j:configuration> 

我的依賴關係:

<dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jul-to-slf4j</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>${log4j.version}</version> 
     </dependency> 

這裏是我的測試類

private Logger LOGGER = LoggerFactory.getLogger(Test.class); 
@RequestMapping("*") 
public String root(RedirectAttributes redirectAttributes){ 
    LOGGER.info("{} - entering root page. Redirecting to index.", System.currentTimeMillis()); 
    return "redirect:/index"; 
} 

輸出(控制檯):

INFO 1404999952210 - entering root page. Redirecting to index. 

有人可以幫忙嗎? 謝謝

+0

檢查日誌文件的位置/權限。也許你沒有添加寫權限來允許tomcat修改它。 – khakiout

+1

並以絕對路徑給出日誌文件,以便您知道必須寫入的位置。 –

+0

我給了絕對路徑,沒有運氣,雖然它在獨立工作... – Snox

回答

0

經過一段時間我解決了這個問題。我遵循Apache文檔Here - Using LOG4J

希望這可以幫助任何人遇到同樣的問題。