您的位置:首页 > 其它

log4j配置文件的三个主要的组件

2015-08-03 13:14 363 查看

log4j配置文件的三个主要的组件:

Logger,Appender和Layout,分别为日志类型,日志输出目的地,日志输出格式。

log4j.rootLogger = [level],appenderName, appenderName, ...
(level是错误级别,appenderName是输出目的地,本例设为mylog,可以定义多个) level优先级分别为FATAL、ERROR、WARN、INFO、DEBUG 5个级别.通过定义的级别,你可以控制程序中的日志输出.比如在这里定义了ERROR级别,程序中只有FARAL、ERROR 级别的LOG会被输出.

log4j.appender.mylog= 输出目的地 (这里的appenderName是在前面定义的,可任意起名)

Log4j提供的输出目的地有以下几种:

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

org.apache.log4j.FileAppender(文件)

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

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

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

log4j.appender.filelog.File=your file dir

log4j.appender.filelog.MaxFileSize=your filesize

log4j.appender.mylog.MaxBackupIndex=num设置保存备份文件数量

log4j.appender.appenderName.layout = 布局类型(设置布局类型)

Log4j提供的layout有以下4种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局)

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

如果使用PatternLayout布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows为"rn",Unix为"n"

%d 输出日志时间,比如:%d{yyyy MMM ddHH:mm:ss,SSS},输出:2007年5月17日 19:30:00,000

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数

[QC]是log信息的开头,可以为任意字符,一般为项目简称

程序中并没有直接用到log4j的类,而是使用了commons-logging提供的日志类。commons-logging是为"所有的Java日志实现"提供一个统一的接口,它的功能据说“平常弱”。

Log(基本记录器)和LogFactory(负责创建Log实例)。当commons-logging.jar被加入到CLASSPATH之后,它会合理地猜测你喜欢的日志工具,然后进行自我设置,用户根本不需要做任何设置。默认的LogFactory是按照下列的步骤去发现并决定那个日志工具将被使用的(按照顺序,寻找过程会在找到第一个工具时中止):

1.寻找当前factory中名叫org.apache.commons.logging.Log配置属性的值

2.寻找系统中属性中名叫org.apache.commons.logging.Log的值

3.如果应用程序的classpath中有log4j,则使用相关的包装(wrapper)类(Log4JLogger)

4.如果应用程序运行在jdk1.4的系统中,使用相关的包装类(Jdk14Logger)

5.使用简易日志包装类(SimpleLog)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: