log4j的properties详细配置,分级输出日志文件

        log4j是很常用的日志类包,在此做一下配置的记录
  • 加载jar包和properities配置文件
            将commons-logging.jar和logging-log4j.jar放在lib中
           将log4j.properties放在src根目录中或者resource中。

 

 

  • properties具体配置信息

 

 

log4j.rootLogger = INFO , info, warn, error, stdout


###控制台输出
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n


###info级别输出
log4j.logger.info = info 
log4j.appender.info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File = ${webroot}/logs/convert_info.log
log4j.appender.info.Append = true
log4j.appender.info.Threshold = INFO 
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd 
log4j.appender.info.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.info.filter.infoFilter.LevelMin=INFO
log4j.appender.info.filter.infoFilter.LevelMax=INFO


###warn级别输出
log4j.logger.warn = warn 
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.File = ${webroot}/logs/convert_warn.log
log4j.appender.warn.Append=true 
log4j.appender.warn.Threshold=WARN 
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.filter.warnFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.warn.filter.warnFilter.LevelMin=WARN
log4j.appender.warn.filter.warnFilter.LevelMax=WARN


###error级别输出
log4j.logger.error = error 
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = ${webroot}/logs/convert_error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.filter.errorFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.error.filter.errorFilter.LevelMin=ERROR
log4j.appender.error.filter.errorFilter.LevelMax=ERROR


  • 给webroot变量设置值

 

    private void log4jInitialized(){
		String log4jPath = "";
		try {
			log4jPath = ApplicationInitListener.class.getResource("").toURI().getPath();			
			log4jPath = log4jPath.substring(0, log4jPath.indexOf("WEB-INF")) + "WEB-INF";	
		} catch (URISyntaxException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.setProperty("webroot", log4jPath);
    }	

          在网站应用程序初始化时调用

 

    public void contextInitialized(ServletContextEvent arg0) {
    	/*初始化日志路径*/
    	log4jInitialized();     	
    	    	
    }


 

 

 

  • 参考资料  
             1、网上很多一样号称能够实现分级存储日志的配置,但实际上不是真正的分级存储
                   http://www.iteye.com/topic/744693
             2、真正能够实现分级的而不需要实现编程的配置方法
                   http://wendal.net/219.html
             3、通过编程方式实现分级方法,有了上面的实现方式,不用进行编程,哈
                   http://blog.csdn.net/projava/article/details/7344839

 


 

posted @ 2014-07-08 09:22  wala-wo  阅读(2426)  评论(1编辑  收藏  举报