要寫日志信息到一個(gè)文件中,必須使用org.apache.log4j.FileAppender。有以下FileAppender的配置參數(shù):
屬性 |
描述 |
immediateFlush |
標(biāo)志的默認(rèn)設(shè)置為true,這意味著輸出流的文件被刷新,在每個(gè)追加操作 |
encoding |
它可以使用任何字符編碼。默認(rèn)情況下是特定于平臺(tái)的編碼方案 |
threshold |
這個(gè) appender 閾值級(jí)別 |
Filename |
日志文件的名稱 |
fileAppend |
默認(rèn)設(shè)置為true,這意味著記錄的信息被附加到同一文件的末尾 |
bufferedIO |
此標(biāo)志表示是否需要寫入緩存啟用。默認(rèn)設(shè)置為false |
bufferSize |
如果 bufferedI/O 啟用,這表示緩沖區(qū)的大小,默認(rèn)設(shè)置為8KB |
下面是一個(gè)示例配置文件 log4j.properties 的 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
如果喜歡相當(dāng)于上述log4j.properties文件的XML配置文件,在這里是xml配置文件的內(nèi)容:
當(dāng)想要寫日志信息轉(zhuǎn)化多個(gè)文件要求一樣,例如,如果文件大小達(dá)到一定的閾值等。
寫日志記錄信息分成多個(gè)文件,必須擴(kuò)展FileAppender類,并繼承其所有屬性u(píng)seorg.apache.log4j.RollingFileAppender類。
有以下除了已如上所述為 FileAppender 可配置參數(shù):
屬性 |
描述 |
maxFileSize |
上述的文件的回滾臨界尺寸。默認(rèn)值是10MB |
maxBackupIndex |
此屬性表示要?jiǎng)?chuàng)建的備份文件的數(shù)量。默認(rèn)值是1 |
下面是一個(gè)示例配置文件log4j.properties的RollingFileAppender進(jìn)行
# 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
如果想有一個(gè)XML配置文件,可以生成中提到的初始段,并添加相關(guān)的 RollingFileAppender 進(jìn)行唯一額外的參數(shù)。
此示例配置說明每個(gè)日志文件的最大允許大小為5MB。當(dāng)超過最大尺寸,新的日志文件將被創(chuàng)建并因?yàn)閙axBackupIndex被定義為2,當(dāng)?shù)诙€(gè)日志文件達(dá)到最大值,第一個(gè)日志文件將被刪除,之后所有的日志信息將被回滾到第一個(gè)日志文件。
當(dāng)想生成每一天的日志文件,以保持日志記錄信息的良好記錄。
日志記錄信息納入日常的基礎(chǔ)文件,就必須它擴(kuò)展FileAppender類,并繼承其所有屬性u(píng)seorg.apache.log4j.DailyRollingFileAppender類。
有除了已如上所述為 FileAppender 只有一個(gè)重要的下列配置參數(shù):
Property |
描述 |
DatePattern |
這表示在滾動(dòng)的文件,并按命名慣例來執(zhí)行。默認(rèn)情況下,在每天午夜?jié)L動(dòng) |
DatePattern控制使用下列滾動(dòng)的時(shí)間表方式之一:
DatePattern |
描述 |
'.' yyyy-MM |
滾動(dòng)在每個(gè)月的結(jié)束和下一個(gè)月初 |
'.' yyyy-MM-dd |
這是默認(rèn)值,每天午夜?jié)L動(dòng) |
'.' yyyy-MM-dd-a |
滾動(dòng)每一天的午夜和中午 |
'.' yyyy-MM-dd-HH |
滾動(dòng)在每一個(gè)小時(shí) |
'.' yyyy-MM-dd-HH-mm |
滾動(dòng)在每一個(gè)分鐘 |
'.' yyyy-ww |
滾動(dòng)每個(gè)星期取決于區(qū)域設(shè)置時(shí)的第一天 |
下面是一個(gè)示例配置文件log4j.properties生成日志文件滾動(dòng)的在每天午夜。
# 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配置文件,可以生成中提到的初始段,并添加相關(guān)DailyRollingFileAppender 唯一的額外參數(shù)和數(shù)據(jù)。