log4j的使用

第一步:加入log4j-1.2.8.jar到lib下。

第二步:在CLASSPATH下建立log4j.properties。内容如下:

log4j.rootLogger=INFO, stdout, fileout

 

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

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

log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd HH/:mm/:ss.SSS} %-5p [%F/:%L]%x %m%n

 

log4j.appender.fileout=org.apache.log4j.RollingFileAppender

log4j.appender.fileout.File=D://currahee2_log//info.log 

log4j.appender.fileout.MaxFileSize=10000KB

log4j.appender.fileout.MaxBackupIndex=10

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

log4j.appender.fileout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS}[%24F:%-3L:%-5p]%x %m%n

 

#log4j.logger.com.neusoft=DEBUG 

#log4j.logger.com.opensymphony.oscache=ERROR     

#log4j.logger.net.sf.navigator=ERROR     

#log4j.logger.org.apache.commons=ERROR     

#log4j.logger.org.apache.struts=WARN     

#log4j.logger.org.displaytag=ERROR     

#log4j.logger.org.springframework=DEBUG     

#log4j.logger.com.ibatis.db=WARN     

#log4j.logger.org.apache.velocity=FATAL     

     

#log4j.logger.com.canoo.webtest=WARN     

     

#log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN     

#log4j.logger.org.hibernate=DEBUG     

#log4j.logger.org.logicalcobwebs=WARN    

 

第三、配置web.xml

 

<context-param>  

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

<param-value>/WEB-INF/Log4j.xml</param-value>  

</context-param>

 

<!-- 加载log4j配置文件 -->  

<listener>  

<listener-class>Log4jConfigListener</listener-class>  

</listener>  

 

第四、在项目中使用Logger

 

Logger log=Logger.getLogger(Test.class);

 

 

 

web.xml中webAppRootKey

------------------------------------------------------------------------------------------------
1、 web.xml配置 
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>
"webapp.root"这个字符串可以随便写任何字符串。如果不配置默认值是"webapp.root"。
 
可以用System.getProperty("webapp.root")来动态获项目的运行路径。
一般返回结果例如:/usr/local/tomcat6/webapps/项目名

2、解决以下报错

部署在同一容器中的Web项目,要配置不同的<param-value>,不能重复,否则报类似下面的错误:
Web app root system property already set to different value: 'webapp.root' = [/home/user/tomcat/webapps/project1/] instead of [/home/user/tomcat/webapps/project2/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!  
意思是“webapp.root”这个key已经指向了项目1,不可以再指向项目2.

3、加载方式

Spring通过org.springframework.web.util.WebAppRootListener 这个监听器来运行时的项目路径。
但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener这个监听器,
则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能
一般配置类型下面的例子:

Xml代码   收藏代码
  1. <!-- 加载Log4J 配置文件  -->  
  2. <context-param>  
  3.     <param-name>log4jConfigLocation</param-name>  
  4.     <param-value>WEB-INF/conf/log4j.properties</param-value>  
  5. </context-param>     
  6.   
  7. <context-param>  
  8.     <param-name>log4jRefreshInterval</param-name>  
  9.       <param-value>3000</param-value>  
  10.  </context-param>  
  11.   
  12. <listener>  
  13.     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  14.  </listener>  

 

4、在运行时动态的找出项目的路径

在log4j.properties配置文件,就可以按下面的方式使用${webapp.root}:
 log4j.appender.file.File=${webapp.root}/WEB-INF/logs/sample.log 
就可以在运行时动态的找出项目的路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值