2012-02-15 108 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

相关问题