log4j配置
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties格式的文件。
1.log4j.properties配置方法:
步骤:
0.下载log4j的jar包;
1.新建java项目;
2.新建包:
3.新建类:
4.在src下新建log4J.properites文本文件【日志配置文件】
5.新建lib文件夹:【存放第三方jar包】
6.新建bin文件夹:【存放生成的.class文件】
如下图:
package com.loveryw; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class log4Test { private static Logger loger; //测试函数 public static void main(String args[]) { String filePath="C:\\workspace\\Log4jTest\\src\\"; PropertyConfigurator.configure(filePath+"log4j.properties"); loger=Logger.getLogger("log4Test"); loger.debug("我是个bug"); loger.info("我是个info"); loger.error("我是个erro"); } }
配置文件内容:log4J.properites
log4j.rootLogger=info,stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.logger.info=info log4j.appender.info=org.apache.log4j.DailyRollingFileAppender log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.info.datePattern=‘.‘yyyy-MM-dd log4j.appender.info.Threshold = INFO log4j.appender.info.append=true log4j.appender.info.File=C:\\workspace\\Log4jTest\\logs\\info.log log4j.logger.debug=debug log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.debug.datePattern=‘.‘yyyy-MM-dd log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.append=true log4j.appender.debug.File=C:\\workspace\\Log4jTest\\logs\\debug.log log4j.logger.error=error log4j.appender.error=org.apache.log4j.DailyRollingFileAppender log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.error.datePattern=‘.‘yyyy-MM-dd log4j.appender.error.Threshold = ERROR log4j.appender.error.append=true log4j.appender.error.File=C:\\workspace\\Log4jTest\\logs\\error.log
2.xml配置方法:【主要用于web的配置】
常用参数说明:
1.log4j有三种主要组件:logger、appender and layout
2.Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
4.Log4j提供的几种输出格式:
%M:Used to output the method name where the logging request was issued.
%m:Used to output the application supplied message associated with the logging event.
%l:Used to output location information of the caller which generated the logging event
%L:Used to output the line number from where the logging request was issued.
%p:Used to output the priority of the logging event.
%n:Outputs the platform dependent line separator character or characters.
%r:Used to output the number of milliseconds elapsed since the start of the application until the creation of the logging event.
%F:Used to output the file name where the logging request was issued.
%d:Used to output the date of the logging event.
%c:Used to output the category of the logging event
%C:Used to output the fully qualified class name of the caller issuing the logging request
5.如果是对于效率要求比较高的话,要在log.debug()之前加上log.isDebugEnabled()进行判断,这样能够大大减少执行时间
6.对于各个appenders,共有的属性是layout(一般设置为org.apache.log4j.PatternLayout),Threshold(Log的级别)
(1)ConsoleAppender:Target(System.out和System.err)
(2)FileAppender:File(定义输出的文件名),Append(定义是否为追加)
(3)DailyRollingFileAppender(除FileAppender属性外):MaxFileSize(最大文件大小),MaxBackupIndex()