log4j配置文件.properties
###根logger设置###
log4j.rootLogger=INFO,console,file #INFO全局日志级别,下面没有指定单个日志级别的时候
###输出信息到控制台###
log4j.appender.console = org.apache.log4j.ConsoleAppender #console 的输出端类型
log4j.appender.console.Target = System.out#输出到哪里
log4j.appender.console.layout = org.apache.log4j.PatternLayout# console 的输出端的 layout 是哪种类型
log4j.appender.console.Threshold=warn#指定日志级别
log4j.appender.console.layout.ConversionPattern=[%p] %d[yyyy-MM-dd HH:mm:ss] method: %l-------%m%n#日志格式
###输出INFO级别以上的日志文件设置###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=E:/Idea/idea1/log/web.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=warn
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d][yyyy-MM-dd HH:mm:ss] method: %l -[%p]----%m%n
如果使用 pattern 布局,就要指定打印信息的具体格式 ConversionPattern,打印参数如下:
%m 输出代码中指定的消息;
%M 输出打印该条日志的方法名;
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;
%r 输出自应用启动到输出该log信息耗费的毫秒数;
%c 输出所属的类目,通常就是所在类的全名;
%t 输出产生该日志事件的线程名;
%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;
%l 输出日志事件的发生位置,及在代码中的行数;
配置根logger:
根logger主要定义log4j支持的日志级别以及输出的目的地
log4j.rootLogger=[level],appenderName,appenderName,.....
level表示日志记录的优先级,分别为OFF,FATAL,ERROR,WARN,INFO,DEBUG等。日志输出级别以根logger的级别为准,大于等于此级别的日志会被显示在控制台/记录在日志文件中
日志级别level以根logger的级别为准,除非单个Appender有设置自己的日志级别
配置输出目的地Appender:
org.apache.log4j.ConsoleAppender(日志输出到控制台)
org.apache.log4j.FileAppender(日志写到文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定大小的时候产生一个新的文件)
org.apache.log4j.DailyRoollingFileAppender(每天产生一个新的文件)
properties文件中中文乱码问题: