log4j配置輸出到多個日誌文件
通常我們項目裏,有一些重要的日誌想單獨的輸出到指定的文件,而不是全總輸出到系統的日誌文件中。那麽我們log4j為我們提供了這種功能,以下我們來一步一步看是怎麽做的。這裏以property的配置方式寫。xml方式類似,想了解的,能夠看官方文檔。
這裏測試的項目包結構例如以下:
log4j 主要由三部分組成:Loggers, Appenders 和Layouts,(appender 能夠理解為輸出的目的地)
咱們的log4j.properties或log4j.xml 裏能夠配置多個logger,
每一個logger 能夠相應多個Appender,而appender和layout是一一相應的。
以下看最簡單的配置,我們配置系統rootLogger,例如以下:
當中: 1、log4j.rootLogger 這個的配置三模式為:log4j.rootLogger=level,appender1,appender2,... level為日誌等級。關系如:DEBUG < INFO < WARN < ERROR < FATAL,等級越小能夠輸出比自己大的日誌,如設置為debug,能夠輸出warn,error,等的日誌。 而緊跟在後面的是appender列表:appender1,appender2,... 2、log4j.appender.A_console=org.apache.log4j.ConsoleAppender 指定相應的appender類,這是輸出到控制臺。 3、log4j.appender.A_console.layout=org.apache.log4j.PatternLayout 。指定layout類, 4、log4j.appender.A_console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n 輸出格式化。詳細怎麽使用能夠查詢PatternLayout 這個api。 我們用一個main方法輸出來看看日誌打印效果我們以下在原來的基礎上再添加兩個logger ,分別為:“com.pt.test” 和“com.pt.test.intf”,命名都是用包名來定義的,看看具體的配置吧: