log4j 日志文件存放位置的配置

今天重点把日志功能理解了一下,对于一个web网站来说,日志是很重要的,特别是那些不太好的服务器提供商,(xinet),我需要把日志存放在webroot下。

怎么存放呢,

项目里要导入什么包,你知道的。。。

将log4j。properties放到web-inf下,当然这么放的话,浏览器上需要请求出能访问得到了

我的log4j.properties里这么写的

log4j.rootLogger=ERROR,zc511

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n

log4j.logger.zc511=ERROR

log4j.appender.zc511.Encoding=UTF-8

log4j.appender.zc511=org.apache.log4j.DailyRollingFileAppender

log4j.appender.zc511.datePattern=.yyyy-MM-dd

log4j.appender.zc511.Threshold = ERROR

log4j.appender.zc511.append=true

log4j.appender.zc511.File=${app1.root}/WEB-INF/logs/error.log

log4j.appender.zc511.layout=org.apache.log4j.PatternLayout

log4j.appender.zc511.layout.ConversionPattern=[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}]  %l%n - %m%n

web.xml下如下配置

  <context-param>    

<param-name>log4jConfigLocation</param-name>    

<param-value>WEB-INF/log4j.properties</param-value>

  </context-param> 

  <context-param>

    <param-name>webAppRootKey</param-name>

    <param-value>app1.root</param-value>

</context-param>

  <context-param>    

<param-name>log4jRefreshInterval</param-name>    

<param-value>60000</param-value>    

  </context-param> 

另外在这里还要配置监听器,因为没有放置在src目录下。

   <listener>    

<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

  </listener>

这样运行的时候,将会在/WEB-INF/logs/error.log下生成日志文件

当然这里我也不理解的地方,我飘红色的地方,为什么要那么设置呢,在一个tomcat下如果有多个项目那么这个红色的地方名字(webAppRootKey)不能重复。所以我在这里给了个别的名字app1.root  那么这个名字到底是什么意思呢?这就请教那位大虾了。。。

猜你喜欢

转载自qieyi28.iteye.com/blog/1545806