Log4j 根配置語法
log4j.rootLogger = [ level ] , appenderName, appenderName, …
把指定級別以上的日志信息輸出到指定的一個或者多個位置
我們把INFO層級以及以上的信息輸出到Console和File;
即輸出到控制台和本地硬盤文件
log4j.rootLogger=INFO, Console ,File #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 = d://log4j2.log log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
代碼示例:
public class Demo { private static Logger logger=Logger.getLogger(Demo.class); // 獲取logger實例 public static void main(String[] args) { logger.info("普通Info信息"); logger.debug("調試debug信息"); logger.error("錯誤error信息"); logger.warn("警告warn信息"); logger.fatal("嚴重錯誤fatal信息"); //開發中有可能會遇到一下經典異常 logger.error("錯誤了",new IllegalArgumentException("非法參數異常")); } }
運行如圖:
我們再來看日志等級
Log4j根據日志信息的重要程度,分OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
Log4j官方建議實際實用的話,Log4j建議只使用四個級別,優先級從高到低分別是 ERROR、WARN、INFO、DEBUG
所以上面我們制定INFO后debug級別的就不再輸出了
同理我們定義ERROR級別
那么ERROR以上級別才會輸出
運行如下圖: