2012-02-15 152 views
0

我們正在開始一個基於Spring MVC的Web應用程序。我們將使用tomcat作爲Web服務器。在web應用程序中使用log4j的最佳方式是什麼?

我需要在應用程序中配置log4j,並登錄到應用程序特定文件而不是tomcat日誌文件。

例如tomcat有自己的日誌文件,比如localhost.log等。我想在tomcats日誌文件夾中找到類似myAppName.log的東西。

日誌記錄配置將進入應用程序war文件中的lo4j.xml或log4j.properties中。

另外我不想在Web應用程序中硬編碼輸出日誌文件。

但我不知道如何做到這一點。

請幫幫我。如果我在某個地方出錯,請糾正我。

+0

你是什麼意思「Plus我不想硬編碼Web應用程序中的輸出日誌文件」? – Korgen 2012-06-06 09:36:29

回答

1

做這樣的,用下面的代碼初始化記錄儀,

Logger log = Logger.getLogger(this.getClass()); 

日誌信息,如以下,

log.debug("My message"); 

,並放置在你的類路徑中的log4j.xml。內容如下,

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="infoLogsFile" class="org.apache.log4j.RollingFileAppender"> 
     <param name="File" value="MyApplication.log"/>  
     <param name="Threshold" value="DEBUG"/> 
     <param name="MaxFileSize" value="100MB"/> 
     <param name="ImmediateFlush" value="TRUE"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> 
     </layout> 
    </appender> 
    <root> 
     <priority value ="DEBUG" /> 
     <appender-ref ref="infoLogsFile"/> 
    </root> 
</log4j:configuration> 

不要忘了添加所需的jar如log4jXXX.jars和apache常見的日誌記錄罐。有了這個,你將能夠看到MyApplication.log文件中的所有日誌消息在tomcat的bin文件夾中創建。

1

試試這個:

  • 把log4j的罐子作爲Web應用程序的一部分

  • 不要把配置你的Web應用程序的一部分

  • 創建您的log4j.xml無論你喜歡什麼

  • 當你啓動tomcat提供這個參數 -Dlog4 j.configuration = file:///.../log4j.xml

相關問題