log4j是一个基于Java开发的日志框架,在实际开发中,使用非常之频繁,在这里有必要来讲解一下这个常用的框架,最主要的是讲一下配置文件。
log4j.rootLogger=DEBUG,Console,File
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%-8p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c][%l]%n%m%n
log4j.appender.File = org.apache.log4j.RollingFileAppender
log4j.appender.File.File = logs/ssm.log
log4j.appender.File.MaxFileSize = 10MB
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
首先来看第一行,第一个表示的是日志级别,debug是细粒度的输出日志,当然还有其他的一些,像info级别是粗粒度的级别,后面定义的是变量,通常是几种类型的追加器,例如控制台输出追加器,文件追加器等,在下面就会引用,名字自己随便取。
然后第一个就是指定上面定义的追加器的类型,例如上文所配的是
org.apache.log4j.ConsoleAppender和org.apache.log4j.RollingFileAppender
这两种追加器,然后是输出日志到哪里,然后是以哪种形式来输出日志,一般都是配的是
org.apache.log4j.PatternLayout,自定义输出日志格式,这种配置比较灵活,用户可以根据自己的喜好来进行配置。
然后最后一个就是指定日志的输出形式,
常用的如下
%p privilige 日志级别,优先级
%c 所在的类,这个就是我们平常写的Logger logger=Logger.getLogger(Clazz)这里指定的类
%m 消息体
%n 换行
%l 输出内容所在代码的行号
%d 输出日志打印时的时间,格式可以在后面自己自定义.