2015-04-22 52 views
1

我有一臺運行在Windows機器上的tomcat 7作爲服務。有一個滾動部署方案處於活動狀態,如果我將一個war文件放在tomcat/webapps文件夾中,它將自動解包並部署。我的戰爭文件看起來像這樣:在Tomcat上配置simplelogger(slf4j)

MyApp.war 
+- META-INF 
+- WEB-INF 
    +- classes 
     + com.company... (the actual class files) 
     +-simplelogger.properties 
    +- lib 
     +- slf4j-api-1.7.12 
     +- slf4j-simple-1.7.12 
    +- web.xml 

在我simplelogger.properties我有這樣的輸出特性:

org.slf4j.simpleLogger.logFile = System.out的

先前版本的戰爭使用system.out.println()做「日誌記錄」,所有與sysout相關的東西都附加到文件tomcat/logs/stdout.log,所以我認爲這是標準的tomcat行爲。

不幸的是,我的新安裝程序不起作用。日誌記錄不會出現在stdout.log文件中。當我使用maven/tomcat插件在eclipse中運行戰爭時它確實工作正常。

我錯過了什麼配置細節? 我看着在tomcat/conf文件夾中任何與記錄交易,我發現以下幾點:

  • 在catalina.properties:任何關於日誌記錄。
  • 在server.xml中:關於日誌記錄
  • logging.properties:我看到很多設置,但沒有任何與sysout或stdout.logs相關。作爲參考,這裏是full file

回答

-1

您必須設置'console appender'來將System.out輸出導向日誌文件。

在你的log4j.xml的基本配置情況如下:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/> 
<param name="Target" value="System.out"/> 
<param name="Threshold" value="DEBUG"/> 
<layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
</layout> 
</appender> 
+0

我沒有使用log4j的,而且也不是沒有任何的log4j.xml文件之前,我增加了slf4 API。因此,其他的東西必須使sysout.out語句轉到stdout.log。我試圖使用simplelogger而不是其他任何綁定來實現相同的效果。 – user1884155