log4j简单配置demo
2016-05-12 本文已影响644人
全栈未遂工程师
- 添加jar包:
我添加了这个log4j-1.2.17.zip
- 新建配置文件:
路径:WebRoot/WEB-INF/log4j.properties
log4j.rootCategory=debug, stdout , R0
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-20d{yyyy-MM-dd HH\:mm\:ss}[%-5p](%c) (%F\:%L) - %m%n
log4j.appender.R0=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R0.layout=org.apache.log4j.PatternLayout
log4j.appender.R0.layout.ConversionPattern=%-20d{yyyy-MM-dd HH\:mm\:ss}[%-5p](%c) (%F\:%L) - %m%n
log4j.appender.R0.DatePattern='.'yyyy-MM-dd
log4j.appender.R0.File=logs/jsDataRoadApp.log
- 配置
web.xml
<!-- 设置由Sprng载入的Log4j配置文件位置 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</context-param>
<!-- Spring刷新Log4j配置文件变动的间隔,单位为毫秒 -->
<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>
- 具体使用:
public String test(){
log.debug("test begin:");
try{
this.message="hello world";
log.info(message);
int res = 4/0;
}catch(Exception e){
log.error(e);
}
log.debug("test end.");
return SUCCESS;
}
后来,要求改了,不仅要显示error错误,而且要把所有的操作过程保存,便于在出现扯皮的时候排查。所以,在上面配置基础上又增加了一个输出文件,每隔100M输出一个info级别的日志文件。最多保存999999个。
下面是具体配置:
log4j.rootCategory=info, stdout , R0 ,R1 #总级别
log4j.appender.stdout.Threshold = ERROR #只打印error级别
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-20d{yyyy-MM-dd HH\:mm\:ss}[%-5p] (%F\:%L) - %m%n
log4j.appender.R0.Threshold = ERROR
log4j.appender.R0=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R0.layout=org.apache.log4j.PatternLayout
log4j.appender.R0.layout.ConversionPattern=%-20d{yyyy-MM-dd HH\:mm\:ss}[%-5p](%c) (%F\:%L) - %m%n
log4j.appender.R0.DatePattern='.'yyyy-MM-dd
log4j.appender.R0.File=logs/jsDataRoadAppError.log
log4j.appender.R1.Threshold = INFO #只打印info级别
log4j.appender.R1=org.apache.log4j.RollingFileAppender
log4j.appender.R1.layout=org.apache.log4j.PatternLayout
log4j.appender.R1.layout.ConversionPattern=%-20d{yyyy-MM-dd HH\:mm\:ss}[%-5p](%c) (%F\:%L) - %m%n
log4j.appender.R1.MaxFileSize=10KB #一个文件最大10kb
log4j.appender.R1.MaxBackupIndex=999999 #最多个文件
log4j.appender.R1.File=logs/jsDataRoadAppInfo.log
如果具体想排查一个包下面的某个功能那么这么配置:
log4j.logger.com.hdsx=info, R1