Log4j log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务,它是apache的开源项目。
log4j.properties,内容
log4j.rootLogger=DEBUG, Console ,File
#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
Log4j提供的layout有以下几种
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活指定布局模式,常用)
org.apache.log4j.SimpleLayout(包含日志信息的级别和新字符串,非常简陋)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
PatternLayout 推荐使用,很灵活
有个ConversionPattern属性,灵活配置输出信息:
%m 输出代码中指定的信息
%M 输出打印该条日志的方法名
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
注:在上面的配置中使用了%-5p(防止打印信息凌乱),表示要占5个字节,不够的部分用空格填充
%r 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符
%d 输出日志时间点的日期或时间
%l 输出日志事件的发生未知,及在代码中的行数
#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
#如果日志数据量不是很大,那么可以使用DailyRollingFileAppender 每天产生一个日志,方便查看。
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
#如果日志数据量很大,一般使用RollingFileAppender,固定尺寸的日志,加入超出了,就产生一个新的文件
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.RollingFile.File = C://log4.log
log4j.appender.RollingFile.MaxFileSize=1KB #固定的日志大小
#最多可以生成多少个日志文件,一般50-100,如果超出,则覆盖之前的
log4j.appender.RollingFile.MaxBackupIndex=3
log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
#DEBUGFile
#根据不同的日志级别,单独打印日志,方便查看
log4j.appender.DFile = org.apache.log4j.FileAppender
log4j.appender.DFile.File = C://DEBUG.log
log4j.appender.DFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.DFile.Threshold = DEBUG
log4j.appender.DFile.Append = false //默认是true,追加到日志到文件,如果为false,则覆盖
#ERRORFile
#根据不同的日志级别,单独打印日志,方便查看
log4j.appender.EFILE = org.apache.log4j.FileAppender
log4j.appender.EFILE.File = C://ERROR.log
log4j.appender.EFILE.layout = org.apache.log4j.PatternLayout
log4j.appender.EFILE.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.EFILE.Threshold =ERROR
public class Test {
private static Logger logger = Logger.getLogger(Test.class);
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("非法参数"));
}
}