其中TestLog4j.java如下:
package cn.zhoucy.test; import org.apache.log4j.Logger; public class TestLog4j { private static Logger logger=Logger.getLogger(TestLog4j.class); // 獲取logger實例 public static void main(String[] args) { logger.debug("調試debug信息"); logger.info("普通Info信息"); logger.warn("警告warn信息"); logger.error("error信息"); logger.fatal("嚴重錯誤fatal信息"); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
log4j.properties如下:
log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n #File log4j.appender.File = org.apache.log4j.FileAppender log4j.appender.File.File = E://File.log log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n #DailyRollingFile log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.DailyRollingFile.File = E://DailyRollingFile.log log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n #RollingFile log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender log4j.appender.RollingFile.File = E://RollingFile.log log4j.appender.RollingFile.MaxFileSize=1KB log4j.appender.RollingFile.MaxBackupIndex=3 log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
由配置文件:Console 和File是常規的控制台和文件輸出,而DailyRollingFile 和RollingFile分別是按天生成,和按日志文件指定大小生成文件。
運行后,控制台輸出如下:
查看E盤根目錄(我運行了7次程序,期間為了演示每天生成,改過兩次電腦日期):
這里的File.log就是普通的輸出,追加的方式。
2、每天生成一個日志文件
首先來看下配置:
#DailyRollingFile log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.DailyRollingFile.File = E://DailyRollingFile.log log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
- 1
- 2
- 3
- 4
- 5
關鍵配置就兩行:
第1行:
log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
- 1
就表明是每天生成一個日志文件。
第2行:
log4j.appender.DailyRollingFile.File = E://DailyRollingFile.log
- 1
表明生成的日志文件名稱,不過要注意,這里表示的是當天的文件名字,歷史文件會以日期結尾。
最后兩行在上一篇Log4j使用筆記(一)講過,指明輸出格式的。
3、按指定大小生成文件
有的時候,會需要指定文件大小,比如說,日志文件生成到了1M,就新生成一個日志文件,同時可以指定一共可以生成的最大文件數。配置文件如下:
#RollingFile log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender log4j.appender.RollingFile.File = E://RollingFile.log log4j.appender.RollingFile.MaxFileSize=1KB log4j.appender.RollingFile.MaxBackupIndex=3 log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
- 1
- 2
- 3
- 4
- 5
- 6
- 7
關鍵的就是第3行和第4行:
log4j.appender.RollingFile.MaxFileSize=1KB log4j.appender.RollingFile.MaxBackupIndex=3
- 1
- 2
表示的是,每個生成的日志最大是1KB,允許生成的最多文件數量是3,即是文件數量達到上限3個以后,則覆蓋之前的文件。
附:log4j-1.2.17下載地址http://download.csdn.net/detail/theblackbeard/9820176