Log4j 使用方法

Log4j 由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息

的优先级从高到低有 ERROR、 WARN、 INFO、 DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

properties 配置文件详解

其实您也可以完全不使用配置文件,而是在代码中配置 Log4j 环境。但是,使用配置文件将使您的应用程序

更加灵活。 Log4j 支持两种配置文件格式, Log4j 支持两种配置文件格式,一种是 XML 格式的文件,一种是

properties( key=value) 文件。下面我们介绍使用 properties 文件做为配置文件的方法:

配置根 Logger,其语法为:

log4j.rootLogger = level,appenderName1,appenderName2, „

其中, level 是日志记录的优先级,分为 OFF、 FATAL、 ERROR、 WARN、 INFO、 DEBUG、 ALL 或者您定义

的级别。 Log4j 建议只使用四个级别,优先级从高到低分别是 ERROR、 WARN、 INFO、 DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了 INFO 级别,则应用程序中所有DEBUG 级别的日志信息将不被打印出来。 appenderName 就是指 B 日志信息输出到哪个地方。您可以同时指定多个输出目的地。 优先级: ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFFLog4j 


配置日志信息输出目的地 Appender,其语法为:

log4j.appender.appenderName = Log4j 提供的 appender 类

log4j.appender.appenderName.属性名 = 属性值

log4j.appender.appenderName.属性名 = 属性值

其中, Log4j 提供的 appender 有以下几种:

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

org.apache.log4j.FileAppender(文件),

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

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

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

1) ConsoleAppender 选项

Threshold=WARN:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是 true,意谓着所有的消息都会被立即输出。

Target=System.err:默认情况下是: System.out,指定输出控制台

2) FileAppender 选项

Threshold=WARN:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是 true,意谓着所有的消息都会被立即输出。

File=mylog.txt:指定消息输出到 mylog.txt 文件。

Append=false:默认值是 true,即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容。

3) DailyRollingFileAppender 选项

Threshold=WARN:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是 true,意谓着所有的消息都会被立即输出。

File=mylog.txt:指定消息输出到 mylog.txt 文件。

Append=false:默认值是 true,即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容。

DatePattern=''.''yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。

当然也可以指定按月、周、天、时和分。即对应的格式如下:

1)''.''yyyy-MM: 每月

2)''.''yyyy-ww: 每周

3)''.''yyyy-MM-dd: 每天

4)''.''yyyy-MM-dd-a: 每天两次

5)''.''yyyy-MM-dd-HH: 每小时

6)''.''yyyy-MM-dd-HH-mm: 每分钟

4) RollingFileAppender 选项

Threshold=WARN:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是 true,意谓着所有的消息都会被立即输出。

File=mylog.txt:指定消息输出到 mylog.txt 文件。

Append=false:默认值是 true,即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容。

MaxFileSize=100KB: 后缀可以是 KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,

即将原来的内容移到 mylog.log.1 文件。

MaxBackupIndex=2:指定可以产生的滚动文件的最大数。

配置日志信息的格式(布局),其语法为:

log4j.appender.appenderName.layout = Log4j 提供的 layout 类

log4j.appender.appenderName.layout.属性 = 值

log4j.appender.appenderName.layout.属性 = 值Log4j


关注极客云图了解更多内容