Log4j代碼形式配置
Logger:日誌記錄器,負責收集處理日誌記錄 (如何處理日誌)
Appender:日誌輸出目的地,負責日誌的輸出 (輸出到什麼 地方)
Layout:日誌格式化,負責對輸出的日誌格式化(以什麼形式展現)
代碼
Logger logger = LogManager.getLogger(logName);
Logger.setLevel(Level.info);
Appender appender = new FileAppender();
appender.setFile(filename);
appender.setEncoding(“utf-8”);
PatternLayout patternLayout = new PatternLayout();
patternLayout.setLayout(“%m%n”);
appender.setLayout(patternLayout);
//這句啓動配置記得加,不加會報 ERROR No output stream or file set for the appender 的錯誤,源碼中在這方法裏將文件名轉爲對應的輸出流
appender.activateOptions();
logger.addAppender(appender);
LogManager.getLogger(logName)方法中會對 Logger進行緩存,具體實現在Hierarchy類的getLogger方法中。以logName爲鍵存在HashTable中。所以如果在下次通過Logger.getLogger(logName),是從HashTable中獲取之前配置好的Logger.