使用org.apache.log4j.FileAppender能夠把日誌寫到文件中:apache
immediateFlush
這個標誌默認爲true,是否每次有消息產生都自動flush到文件中encoding
字符編碼threshold
appender的閾值thresholdFilename
日誌文件的名稱fileAppend
默認設置爲true,全部的日誌都輸出到相同的文件bufferedIO
是否啓用緩衝區,默認是falsebufferSize
若是啓用了緩衝區,設置緩衝區的大小。默認是8kb.##### 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
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="FILE" > <param name="file" value="${log}/log.out"/> <param name="immediateFlush" value="true"/> <param name="threshold" value="debug"/> <param name="append" value="false"/> <layout > <param name="conversionPattern" value="%m%n"/> </layout> </appender> <logger name="log4j.rootLogger" additivity="false"> <level value="DEBUG"/> <appender-ref ref="FILE"/> </logger> </log4j:configuration>
app
若是須要把日誌文件寫入到多個文件中,例如,按照文件的大小,到達必定的閾值後,就寫入另外一個文件。編碼
那麼你可使用apache.log4j.RollingFileAppender類,它繼承了FileAppender,並能設置一些屬性達到上面的需求。debug
添加的屬性以下:日誌
##### 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以及它的兩個屬性添加進去就能夠了。code
上面的文件中,最大的文件大小爲5kb,當超過這個大小後,就會建立新的文件;而後這個文件被命名爲log.1;同理,若是有log.2就會重命名爲log.3。若是索引數目最多設置爲5,而且已經存在了log.5,那麼log.5會被直接刪除。xml
若是想要天天更新一下日誌文件,那麼可使用org.apache.log4j.DailyRollingFileAppender。繼承
它增長的屬性以下:索引
DatePattern
這個屬性聲明瞭命名規則,默認是每一天的半夜24點更新一次這個屬性能夠按照下面的方式書寫:it
'.'yyyy-MM
在每月剛開始的時候更新一次'.'yyyy-MM-dd
天天半夜24點的時候更新'.'yyyy-MM-dd-a
天天12點和24點更新'.'yyyy-MM-dd-HH
每一個小時更新一次'.'yyyy-MM-dd-HH-mm
每分鐘更新一次'.'yyyy-ww
每週的第一天更新##### 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中配置,添加相關的屬性便可。