要将日志记录信息写入文件,您必须使用 org.apache.log4j.FileAppender .
FileAppender具有以下可配置参数:
物业 | 描述 |
---|---|
immediateFlush | 默认情况下,此标志设置为true,这意味着每次追加操作都会刷新文件的输出流. |
encoding | 可以使用任何字符编码.默认情况下,它是特定于平台的编码方案. |
threshold | 此appender的阈值级别. |
Filename | 日志的名称文件. |
fileAppend | 默认设置为true,这意味着日志信息被附加到同一文件的末尾. |
bufferedIO | 此标志指示是否需要启用缓冲写入.默认情况下,它设置为false. |
bufferSize | 如果缓冲我/O启用,它表示缓冲区大小.默认情况下,它设置为8kb. |
以下是示例配置文件 log4j.properties for FileAppender :
# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender # Set the name of the file log4j.appender.FILE.File=${log}/log.out # Set the immediate flush to true (default) log4j.appender.FILE.ImmediateFlush=true # Set the threshold to debug mode log4j.appender.FILE.Threshold=debug # Set the append to false, overwrite log4j.appender.FILE.Append=false # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
如果您希望拥有与上述 log4j等效的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 - 示例程序.
您可能希望将日志消息写入多个文件由于某些原因,例如,如果文件大小达到某个阈值.
要将日志信息写入多个文件,您必须使用 org.apache .log4j.RollingFileAppender 类,它扩展了 FileAppender 类并继承了它的所有属性.
除了上面提到的参数外,我们还有以下可配置参数以上为FileAppender :
Property | 描述 |
---|---|
maxFileSize | 这是文件将在其上滚动的文件的临界大小.默认值为10 MB. |
maxBackupIndex | 此属性表示的数量备份要创建的文件.默认值为1. |
以下是RollingFileAppender的示例配置文件 log4j.properties .
# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.RollingFileAppender # Set the name of the file log4j.appender.FILE.File=${log}/log.out # Set the immediate flush to true (default) log4j.appender.FILE.ImmediateFlush=true # Set the threshold to debug mode log4j.appender.FILE.Threshold=debug # Set the append to false, should not overwrite log4j.appender.FILE.Append=true # Set the maximum file size before rollover log4j.appender.FILE.MaxFileSize=5KB # Set the the backup index log4j.appender.FILE.MaxBackupIndex=2 # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
如果你想拥有在XML配置文件中,您可以生成与初始部分中提到的相同的内容,并仅添加与 RollingFileAppender 相关的其他参数.
此示例配置演示了最大值每个日志文件的允许大小为5 MB.超过最大大小时,将创建一个新的日志文件.由于 maxBackupIndex 定义为2,因此一旦第二个日志文件达到最大大小,第一个日志文件将被删除,此后,所有日志记录信息将回滚到第一个日志文件.
您可以尝试 log4j - 示例程序使用上述配置.
可能需要每天生成日志文件以保持清洁记录日志信息.
要每天将日志记录信息写入文件,您必须使用 org.apache.log4j.DailyRollingFileAppender 类.扩展 FileAppender 类并继承其所有属性.
除了上面提到的FileAppender之外,只有一个重要的可配置参数:
P roperty | 描述 |
---|---|
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 file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender # Set the name of the file log4j.appender.FILE.File=${log}/log.out # Set the immediate flush to true (default) log4j.appender.FILE.ImmediateFlush=true # Set the threshold to debug mode log4j.appender.FILE.Threshold=debug # Set the append to false, should not overwrite log4j.appender.FILE.Append=true # Set the DatePattern log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
如果您希望拥有XML配置文件,则可以生成与上述相同的内容在初始部分中,只添加与 DailyRollingFileAppender 相关的其他参数.
您可以尝试 log4j - 示例程序,具有上述配置.