1. web.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> 15 16log4jConfigLocation 配置log4j.properties 文件的位置。也可以这样配置 classpath:log4j.properties
2. 日志文件的位置
1)绝对路径
log4j.appender.R.File=D:/log/xxx.log
2)相对路径:
log4j.appender.R.File=../logs/app.log,将日志记录到tomcat下的logs文件夹;
log4j.appender.R.File=logs/app.log,将日志记录到tomcat的bin目录下的logs文件夹;
(3)使用环境变量相对路径法:程序会优先找jvm环境变量,然后再找系统环境变量,来查找配置文件中的变量。
log4j.appender.logfile.File=${user.dir}/logs/app.log,使用tomcat容器时${user.dir}对应tomcat的bin目录;
log4j.appender.logfile.File=${user.home}/logs/app.log,${user.home}对应操作系统当前用户目录;
log4j.appender.logfile.File=${webApp.root}/logs/app.log,${webApp.root}对应当前应用根目录;
3. 不同框架的日志分开存储:
1#all logger output level is 'ERROR' and output position is stdout 2#so only write our project's DEBUG log and ERROR log of the others 3log4j.rootLogger=ERROR, stdout, R 4#log4j.appender is set output postion 5#log4j.logger is set some package(some package your want output logger specially)=[output level],[...output position] 6 7log4j.logger.org.springframework=OFF 8log4j.logger.org.apache.commons=OFF 9log4j.logger.org.apache.struts=OFF 10log4j.logger.org.hibernate=OFF 11 12#log4j.logger.org.logicalcobwebs=OFF 13 14#only write our project's log(DEBUG) 15log4j.logger.com.mycompany=DEBUG 16 17log4j.logger.org.apache.commons.dbcp=DEBUG, dbcp 18#log4j.logger.org.logicalcobwebs.proxool=DEBUG, proxool 19 20#log4j.logger.org.springframework=DEBUG, spring 21 22log4j.logger.org.apache.catalina.core=DEBUG, catalina 23 24#in the console 25log4j.appender.stdout=org.apache.log4j.ConsoleAppender 26#config stdout position output contain INFO level and up 27log4j.appender.stdout.Threshold=DEBUG 28log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 29log4j.appender.stdout.layout.ConversionPattern=[%-5p] %l:%t - %m %n 30 31#in the daily files 32log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 33log4j.appender.R.Threshold=DEBUG 34log4j.appender.R.File=D:/EMR/log/EMR.log 35log4j.appender.R.DatePattern='.'yyyy-MM-dd'.log' 36log4j.appender.R.layout=org.apache.log4j.PatternLayout 37log4j.appender.R.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n 38 39log4j.logger.com.statestr=DEBUG 40 41log4j.appender.dbcp=org.apache.log4j.DailyRollingFileAppender 42log4j.appender.dbcp.Threshold=DEBUG 43log4j.appender.dbcp.File=D:/EMR/log/dbcp.log 44log4j.appender.dbcp.DatePattern='.'yyyy-MM-dd'.log' 45log4j.appender.dbcp.layout=org.apache.log4j.PatternLayout 46log4j.appender.dbcp.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n 47 48log4j.appender.proxool=org.apache.log4j.DailyRollingFileAppender 49log4j.appender.proxool.Threshold=DEBUG 50log4j.appender.proxool.File=D:/EMR/log/proxool.log 51log4j.appender.proxool.DatePattern='.'yyyy-MM-dd'.log' 52log4j.appender.proxool.layout=org.apache.log4j.PatternLayout 53log4j.appender.proxool.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n 54 55log4j.appender.spring=org.apache.log4j.DailyRollingFileAppender 56log4j.appender.spring.Threshold=DEBUG 57log4j.appender.spring.File=D:/EMR/log/spring.log 58log4j.appender.spring.DatePattern='.'yyyy-MM-dd'.log' 59log4j.appender.spring.layout=org.apache.log4j.PatternLayout 60log4j.appender.spring.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n 61 62log4j.appender.catalina=org.apache.log4j.DailyRollingFileAppender 63log4j.appender.catalina.Threshold=DEBUG 64log4j.appender.catalina.File=D:/EMR/log/catalina.log 65log4j.appender.catalina.DatePattern='.'yyyy-MM-dd'.log' 66log4j.appender.catalina.layout=org.apache.log4j.PatternLayout 67log4j.appender.catalina.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n
4. 关闭日志
1log4j.logger.org.springframework=OFF 2log4j.logger.org.apache.commons=OFF 3log4j.logger.org.apache.struts=OFF 4log4j.logger.org.hibernate=OFF或者 5 6log4j.logger.org.springframework=WARN 7log4j.logger.org.apache.commons=WARN 8log4j.logger.org.apache.struts=WARN 9log4j.logger.org.hibernate=WARN