要将日志记录信息写入文件,必须使用.。
FileAppender配置
FileAppender具有以下可配置参数:
属性 | 描述 |
---|---|
immediateFlush | 标志的默认设置为true,这意味着输出流的文件被刷新,在每个追加操作 |
encoding | 它可以使用任何字符编码。默认情况下是特定于平台的编码方案 |
threshold | 此appender的阈值级别(rootLogger级别高时,则以rootLogger为准,比如此appender设置级别为debug,而rootlogger设置的info,则只会记录info的日志 ) |
Filename | 日志文件的名称 |
fileAppend | 默认设置为true,这意味着记录的信息被附加到同一文件的末尾 |
bufferedIO | 此标志表示是否需要写入缓存启用。默认设置为false |
bufferSize | 如果 bufferedI/O 启用,这表示缓冲区的大小,默认设置为8KB |
以下是FileAppender 的示例配置文件:
# Define the root logger with appender file
= DEBUG, FILE
# Define the file appender
=.
# Set the name of the file
=${log}/
# Set the immediate flush to true (default)
=true
# Set the threshold to debug mode
=debug
# Set the append to false, overwrite
=false
# Define the layout for file appender
=.
=%m%n
如果您希望拥有一个与上述文件等效的XML配置文件,那么这里是内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "">
<log4j:configuration>
<appender name="FILE" class=".">
<param name="file" value="${log}/"/>
<param name="immediateFlush" value="true"/>
<param name="threshold" value="debug"/>
<param name="append" value="false"/>
<layout class=".">
<param name="conversionPattern" value="%m%n"/>
</layout>
</appender>
<logger name="" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="FILE"/>
</logger>
</log4j:configuration>
您可以尝试使用上述配置的 log4j-示例程序。
日志记录到多个文件
出于某些原因,例如,如果文件大小达到某个阈值,您可能希望将日志消息写入多个文件。
要将日志记录信息写入多个文件,必须使用 . 类,该类扩展了FileAppender类并继承了其所有属性。
除了上面提到的FileAppender之外,我们还有以下可配置参数:
属性 | 描述 |
---|---|
maxFileSize | 这是文件的临界大小,文件将在该临界大小以上滚动。默认值为10 MB。 |
maxBackupIndex | 此属性表示要创建的备份文件的数量。预设值为1。 |
以下是RollingFileAppender 的示例配置文件 。
# Define the root logger with appender file
= DEBUG, FILE
# Define the file appender
=.
# Set the name of the file
=${log}/
# Set the immediate flush to true (default)
=true
# Set the threshold to debug mode
=debug
# Set the append to false, should not overwrite
=true
# Set the maximum file size before rollover
=5KB
# Set the the backup index
=2
# Define the layout for file appender
=.
=%m%n
如果希望拥有XML配置文件,则可以生成与初始部分中所述相同的文件,并仅添加与 RollingFileAppender 相关的其他参数。
此示例配置说明每个日志文件的最大允许大小为5MB。超过最大大小后,将创建一个新的日志文件。由于maxBackupIndex定义为2,一旦第二个日志文件达到最大大小,则将删除第一个日志文件,然后,所有日志记录信息将回滚到第一个日志文件。
您可以尝试使用上述配置的log4j-示例程序。
每天生成日志文件
可能需要每天生成日志文件,以保持日志信息的干净记录。
要将日志记录信息每天写入文件,必须使用 . 类,该类扩展了FileAppender类并继承了其所有属性。
除了上面提到的FileAppender之外,只有一个重要的可配置参数:
属性 | 描述 |
---|---|
DatePattern | 这指示何时将文件翻转以及要遵循的命名约定。默认情况下,翻转在每天的午夜执行。 |
DatePattern 使用以下模式之一控制滚动计划:
DatePattern | 描述 |
---|---|
'.' yyyy-MM |
在每个月底和下个月初滚动。 |
'.' yyyy-MM-dd |
每天午夜滚动。这是默认值。 |
'.' yyyy-MM-dd-a |
在每天的中午和午夜滚动。 |
'.' yyyy-MM-dd-HH |
每小时滚动一次。 |
'.' yyyy-MM-dd-HH-mm |
每分钟滚动。 |
'.' yyyy-ww |
根据语言环境,在每周的第一天进行滚动。 |
以下是一个示例配置文件,用于生成在每天的中午和午夜滚动的日志文件。
# Define the root logger with appender file
= DEBUG, FILE
# Define the file appender
=.
# Set the name of the file
=${log}/
# Set the immediate flush to true (default)
=true
# Set the threshold to debug mode
=debug
# Set the append to false, should not overwrite
=true
# Set the DatePattern
='.' yyyy-MM-dd-a
# Define the layout for file appender
=.
=%m%n
如果希望拥有XML配置文件,则可以生成与初始部分中所述相同的文件,并仅添加与DailyRollingFileAppender相关的其他参数。
您可以尝试使用上述配置的 log4j-示例程序。