在WEB开发中使用|加载Log4j

一、自己写一个servlet,初始化log4j的相关配置信息

import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.http.HttpServlet; 
import org.apache.log4j.PropertyConfigurator; 
 
public class Log4jInitServlet extends HttpServlet { 
    public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {         
    } 
     
    public void init() throws ServletException { 
        System.setProperty("webappRoot", getServletContext().getRealPath("/"));      
        PropertyConfigurator.configure(getServletContext().getRealPath("/") + getInitParameter("log4jConfigLocation")); 
    } 
}  


 修改web.xml文件,让tomcat启动你app的时候自动加载刚才这个servlet:
Xml代码

<!-- initialize log4j -->  
<servlet>  
    <servlet-name>log4j config file</servlet-name>  
    <servlet-class>com.keepc.util.Log4jInitServlet</servlet-class>  
    <init-param>  
        <param-name>configfile</param-name>  
        <param-value>/WEB-INF/classes/log4j.properties</param-value>  
    </init-param>  
      
    <load-on-startup>1</load-on-startup>  
</servlet>

二、通过Spring方式加载

<!--由Sprng载入的Log4j配置文件位置 -->
<context-param>
	<param-name>log4jConfigLocation</param-name>
	<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- 每隔60秒检测一下Lo4j配置文件 -->
<context-param>
	<param-name>log4jRefreshInterval</param-name>
	<param-value>60000</param-value>
</context-param>
<listener>
	<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

log4j.properties:

log4j.rootLogger=INFO, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# log4j.appender.stdout.layout.ConversionPattern=%p [%t] %C.%M(%L) | %m%n
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] (%C{2},%L) - %m%n

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender     
log4j.appender.R.File=${catalina.home}/logs/ATS.logs    
log4j.appender.R.layout=org.apache.log4j.PatternLayout     
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

# Druid
log4j.logger.druid.sql=INFO,stdout,R
log4j.logger.druid.sql.DataSource=INFO,stdout,R
log4j.logger.druid.sql.Connection=INFO,stdout,R
log4j.logger.druid.sql.Statement=INFO,stdout,R
log4j.logger.druid.sql.ResultSet=INFO,stdout,R

log4j.logger.com.opensymphony.xwork2=WARN
#log4j.logger.org.apache.struts2=DEBUG
log4j.logger.org.apache.struts2.convention=DEBUG
log4j.logger.org.springframework=INFO   
log4j.logger.com.ibatis.db=INFO
log4j.logger.com.ibatis=INFO  
log4j.logger.java.sql.Connection=INFO  
log4j.logger.java.sql.Statement=INFO  
log4j.logger.java.sql.PreparedStatement=INFO  
log4j.logger.java.sql.ResultSet=INFO

猜你喜欢

转载自xh32t03.iteye.com/blog/2040503