Log4j 日志到文件

2020-08-18 11:26 更新

Log4j教程 - Log4j日志到文件


要將信息記錄到文件中,請使用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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號