java1234开源博客系统
博客信息

Log4j appender输出类型配置

发布时间:『 2017-03-28 15:38』  博客类别:log4j日志  阅读(6742) 评论(0)

Log4j官方的appender给出了一下几种实现


org.apache.log4j.ConsoleAppender(控制台),  

org.apache.log4j.FileAppender(文件),  

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),  

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


实际开发我们使用第1,第3和第4种实现;


假如日志数据量不是很大,我们可以用DailyRollingFileAppender 每天产生一个日志,方便查看;

假如日志数据量很大,我们一般用RollingFileAppender,固定尺寸的日志,假如超过了 就产生一个新的文件;


我们这里给出一些实例;

log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile
   
#Console  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
   
#File
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = C://log2.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

#DailyRollingFile
log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.File = C://log3.log
log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

#RollingFile
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.RollingFile.File = C://log4.log
log4j.appender.RollingFile.MaxFileSize=1KB
log4j.appender.RollingFile.MaxBackupIndex=3
log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n


测试代码:

package com.open1111;

import org.apache.log4j.Logger;

public class Test {

	private static Logger logger=Logger.getLogger(Test.class); // 获取logger实例
	
	public static void main(String[] args) {
		logger.info("普通Info信息");
		logger.debug("调试debug信息");
		logger.error("报错error信息");
		logger.warn("警告warn信息");
		logger.fatal("严重错误fatal信息");
		
		logger.error("报错信息", new IllegalArgumentException("非法参数"));
		int i=0;
		while(i<10000){
			logger.debug(" RollingFile 调试debug信息");
			logger.debug(" RollingFile 调试debug信息");
			logger.debug(" RollingFile 调试debug信息");
			logger.debug(" RollingFile 调试debug信息");
			logger.debug(" RollingFile 调试debug信息");
			i++;
		}
	}
	
}


这里有两个新的配置项解释下:

MaxFileSize 是日志文件的最大尺寸;根据实际需求来定 10KB 100KB也行

MaxBackupIndex是日志文件的个数,假如超过了,则覆盖,主要考虑到的是硬盘的容量问题;根据实际需求来定 比如 100  500;


这里给下日志文件的效果:

DailyRollingFileAppender  效果:

QQ鎴浘20170328152805.jpg


RollingFileAppender 效果:

QQ鎴浘20170328153449.jpg




关键字:   Log4j     appender     输出类型  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有