log4j日志记录到文件

来源:互联网 发布:商品期货模拟软件 编辑:程序博客网 时间:2024/04/25 01:07

要写日志信息到一个文件中,必须使用org.apache.log4j.FileAppender。有以下FileAppender的配置参数:

FileAppender配置:

属性描述immediateFlush标志的默认设置为true,这意味着输出流的文件被刷新,在每个追加操作encoding它可以使用任何字符编码。默认情况下是特定于平台的编码方案threshold这个 appender 阈值级别Filename日志文件的名称fileAppend默认设置为true,这意味着记录的信息被附加到同一文件的末尾bufferedIO此标志表示是否需要写入缓存启用。默认设置为falsebufferSize如果 bufferedI/O 启用,这表示缓冲区的大小,默认设置为8KB

下面是一个示例配置文件 log4j.properties 的 FileAppender。

# 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

如果喜欢相当于上述log4j.properties文件的XML配置文件,在这里是xml配置文件的内容:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration><appender name="FILE" class="org.apache.log4j.FileAppender">   <param name="file" value="${log}/log.out"/>   <param name="immediateFlush" value="true"/>   <param name="threshold" value="debug"/>   <param name="append" value="false"/>   <layout class="org.apache.log4j.PatternLayout">      <param name="conversionPattern" value="%m%n"/>   </layout></appender><logger name="log4j.rootLogger" additivity="false">   <level value="DEBUG"/>   <appender-ref ref="FILE"/></logger></log4j:configuration>

可以尝试在 log4j - 示例程序 使用上面的配置。

日志记录到多个文件:

当想要写日志信息转化多个文件要求一样,例如,如果文件大小达到一定的阈值等。

写日志记录信息分成多个文件,必须扩展FileAppender类,并继承其所有属性useorg.apache.log4j.RollingFileAppender类。

有以下除了已如上所述为 FileAppender 可配置参数:

属性描述maxFileSize上述的文件的回滚临界尺寸。默认值是10MBmaxBackupIndex此属性表示要创建的备份文件的数量。默认值是1

下面是一个示例配置文件log4j.properties的RollingFileAppender进行

# Define the root logger with appender filelog4j.rootLogger = DEBUG, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.RollingFileAppender# 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, should not overwritelog4j.appender.FILE.Append=true# Set the maximum file size before rolloverlog4j.appender.FILE.MaxFileSize=5KB# Set the the backup indexlog4j.appender.FILE.MaxBackupIndex=2# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.conversionPattern=%m%n

如果想有一个XML配置文件,可以生成中提到的初始段,并添加相关的 RollingFileAppender 进行唯一额外的参数。

此示例配置说明每个日志文件的最大允许大小为5MB。当超过最大尺寸,新的日志文件将被创建并因为maxBackupIndex被定义为2,当第二个日志文件达到最大值,第一个日志文件将被删除,之后所有的日志信息将被回滚到第一个日志文件。

可以尝试 log4j - 示例程序使用上面的配置。

每天生成日志文件:

当想生成每一天的日志文件,以保持日志记录信息的良好记录。

日志记录信息纳入日常的基础文件,就必须它扩展FileAppender类,并继承其所有属性useorg.apache.log4j.DailyRollingFileAppender类。

有除了已如上所述为 FileAppender 只有一个重要的下列配置参数:

Property描述DatePattern这表示在滚动的文件,并按命名惯例来执行。默认情况下,在每天午夜滚动

DatePattern控制使用下列滚动的时间表方式之一:

DatePattern描述'.' yyyy-MM滚动在每个月的结束和下一个月初'.' yyyy-MM-dd这是默认值,每天午夜滚动'.' yyyy-MM-dd-a滚动每一天的午夜和中午'.' yyyy-MM-dd-HH滚动在每一个小时'.' yyyy-MM-dd-HH-mm滚动在每一个分钟'.' yyyy-ww滚动每个星期取决于区域设置时的第一天

下面是一个示例配置文件log4j.properties生成日志文件滚动的在每天午夜。

# Define the root logger with appender filelog4j.rootLogger = DEBUG, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender# 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, should not overwritelog4j.appender.FILE.Append=true# Set the DatePatternlog4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.conversionPattern=%m%n

如果想使用XML配置文件,可以生成中提到的初始段,并添加相关DailyRollingFileAppender 唯一的额外参数和数据。

可以尝试在 log4j - 示例程序使用上面的配置。

0 0
原创粉丝点击