spring 使用log4j的一点心得

来源:互联网 发布:windows git 更新 编辑:程序博客网 时间:2024/06/05 14:33


spring使用log4j,可以有2种方法。

1、在web.xml里不做任何配置。

log4j.properties放在classpath根目录下,

这时候生成的日志文件就没有相对路径,如果写相对路径,则会生成在安装tomcat的根路径下。


2、在web.xml设置。

<context-param><param-name>log4jConfigLocation</param-name><param-value>WEB-INF/classes/log4j.properties</param-value></context-param><context-param><param-name>webAppRootKey</param-name><param-value>myappfuse.root</param-value></context-param><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
需注意的是:

1)必须写成:

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

如果写成:

<param-value>classpath*:log4j.properties</param-value>
会报找不到文件。

2)必须写成:

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

3)
Log4jConfigListener必须定义在
ContextLoaderListener之前,否则就会出现2个log文件,一个在工程路径下,一个在tomcat根路径下。
4)如果不定义
<context-param><param-name>webAppRootKey</param-name><param-value>myappfuse.root</param-value></context-param>
那么在log4j.properties文件中的路径就应该默认为:#{webapp.root}
3、不同级别显示在不同文件:
#log4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis=OFFlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUGlog4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUGlog4j.logger.com.ibatis.SQL Map.engine.impl.SQL MapClientDelegate=DEBUG#log4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Connection=OFFlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUG#log4j.appender.R.File=${webapp.root}/WEB-INF/logs/myfuse.log #log4j.rootLogger=INFO,R#log4j.rootLogger=FATAL,Rlog4j.rootLogger=INFO,R,stdout,Elog4j.addivity.org.apache=truelog4j.appender.R=org.apache.log4j.DailyRollingFileAppender#log4j.appender.R.File=${webapp.root}/WEB-INF/logs/chplan_info1.loglog4j.appender.R.File=${myappfuse.root}/www/log/chplan_info.log#log4j.appender.R.DatePattern=yyyy-MM-dd'.log'# Keep one backup file  log4j.appender.R.layout=org.apache.log4j.PatternLayout#log4j.appender.R.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%nlog4j.appender.R.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]   %m%nlog4j.logger.E=error log4j.appender.E=org.apache.log4j.DailyRollingFileAppender log4j.appender.E.layout=org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n log4j.appender.E.datePattern='.'yyyy-MM-dd log4j.appender.E.Threshold=ERROR log4j.appender.E.append=true #log4j.appender.E.Encoding=GBK #log4j.appender.E.File=${webapp.root}/WEB-INF/logs/chplan_error.log log4j.appender.E.File=${myappfuse.root}/www/log/chplan_error.loglog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

原创粉丝点击