log4j基本说明

来源:互联网 发布:魔兽世界世界观 知乎 编辑:程序博客网 时间:2024/05/21 11:27

log4j实践

log4j组成

  • loggers:负责采集日志信息
  • appenders:负责将日志信息发布到不通地方
  • layouts:负责以各种风格格式化日志信息

log4j配置例子

Log4j.properties文件是Log4j的配置文件。默认情况下,LogManager会在CLASSPATH中寻找Log4j.properties文件。

log4j.properties的例子

# Define the root logger with appender XLog4j.rootLogger = DEBUG, X# Set the appender named X to be a File appenderLog4j.appender.X=org.apache.Log4j.FileAppender# Define the layout for X appenderLog4j.appender.X.layout=org.apache.Log4j.PatternLayoutLog4j.appender.X.layout.conversionPattern=%m%n
  1. 根据日志级别定义为DEBUG,并将名为 X 的appender添加其上.
  2. 将名为 X 的appender 设置为合法的 appender
  3. 设置 appender X 的layout

使用文件记录日志

上面的conversionPattern其实是org.apache.Log4j.PatternLayout类中的一个属性,下面会将FileAppender中的属性设置

FileAppender 配置

FileAppender 拥有如下配置参数

属性 描述 immediateFlush 该标志位默认为 true,意味着每次日志追加操作都将输出流刷新至文件。 encoding 可以使用任何编码,默认情况下使用平台相关的编码。 threshold appender 对象的阀值。 Filename 日志文件名。 fileAppend 该值默认为 true,其含义是让日志追加至文件末尾。 bufferedIO 该标志位表示是否打开缓冲区写,缺省为 false。 bufferSize 如果开启缓冲区 I/O,该属性指示缓冲区大小,缺省为 8 kb。

下面是一个使用 FileAppender 的示例配置文件Log4j.properties

# Define the root logger with appender fileLog4j.rootLogger = DEBUG, FILE# Define the file appenderLog4j.appender.FILE=org.apache.Log4j.FileAppender# Set the name of the fileLog4j.appender.FILE.File=${log}/log.out# Set the immediate flush to true (default)Log4j.appender.FILE.ImmediateFlush=true# Set the threshold to debug modeLog4j.appender.FILE.Threshold=debug# Set the append to false, overwriteLog4j.appender.FILE.Append=false# Define the layout for file appenderLog4j.appender.FILE.layout=org.apache.Log4j.PatternLayoutLog4j.appender.FILE.layout.conversionPattern=%m%n
0 0
原创粉丝点击