要將信息記錄到文件中,請使用org.apache.log4j.FileAppender。
下表列出了FileAppender的可配置參數(shù)。
屬性 | 描述 |
---|---|
immediateFlush | 默認(rèn)值為true。刷新每個追加操作的消息。 |
encoding | 更改字符編碼。默認(rèn)為平臺特定的編碼方案。 |
threshold | 此附加器的閾值級別。 |
Filename | 日志文件的名稱。 |
fileAppend | 默認(rèn)為true。將日志記錄信息附加到同一文件的結(jié)尾。 |
bufferedIO | 是否緩沖寫入。默認(rèn)為false。 |
bufferSize | 如果啟用了緩沖I/O,請設(shè)置緩沖區(qū)大小。默認(rèn)值為8kb。 |
以下是FileAppender的配置文件示例log4j.properties。
# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender # file name log4j.appender.FILE.File=${log}/log.out # Set the flush to true log4j.appender.FILE.ImmediateFlush=true # Set the threshold to debug mode log4j.appender.FILE.Threshold=debug # Set the append to true, overwrite log4j.appender.FILE.Append=true # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
我們可能希望將消息記錄到多個文件中,例如,如果文件大小達(dá)到某個閾值,我們希望將消息記錄到一個新文件。
要將信息記錄到多個文件中,請使用org.apache.log4j.RollingFileAppender類,該類擴展了FileAppender類并繼承其所有屬性。
下表列出了除FileAppender提到的可配置參數(shù)外:
描述 | 描述 |
---|---|
maxFileSize | 將滾動文件的文件的最大大小。 默認(rèn)值為10MB |
maxBackupIndex | 設(shè)置要創(chuàng)建的備份文件數(shù)。默認(rèn)值為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 # file name log4j.appender.FILE.File=${log}/log.out # Set the maximum file size before rollover log4j.appender.FILE.MaxFileSize=5KB # Set the the backup index log4j.appender.FILE.MaxBackupIndex=2
要每天生成日志文件,請使用org.apache.log4j.DailyRollingFileAppender類擴展FileAppender類。
DatePattern
控制何時滾動文件。
描述 | 描述 |
---|---|
DatePattern | 指示何時滾動文件,以及要遵循的命名約定。默認(rèn)情況下每天午夜?jié)L動。 |
DatePattern支持以下模式:
DatePattern | 描述 |
---|---|
'.' yyyy-MM | 每月結(jié)束時滾動。 |
'.' yyyy-MM-dd | 在每天的中午和午夜?jié)L動。 |
'.' yyyy-MM-dd-a | 默認(rèn)值。每天午夜?jié)L動。 |
'.' yyyy-MM-dd-HH | 滾動在每個小時的頂部。 |
'.' yyyy-MM-dd-HH-mm | 每分鐘滾動一次。 |
'.' yyyy-ww | 根據(jù)區(qū)域設(shè)置,每周的第一天滾動。 |
以下代碼顯示了用于在每天的中午和午夜翻轉(zhuǎn)的配置文件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 DatePattern log4j.appender.FILE.DatePattern="." yyyy-MM-dd-a
更多建議: