原文地址:http://www.hankcs.com/program/java/log4j-2-console-color-configuration-with-intellij-idea.html
準備開一大項目的話,日誌系統必不可少。Log4j是Java平台上最好的日誌組件了,Log4j 2升級了不少API,拓展性更好。 Log4j 2安裝
需要兩個Jar即可:log4j-api-2.0-rc1.jar和log4j-core-2.0-rc1。像我這樣的強迫症患者還得捎上doc和sources才行。
最簡單的一個測試
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class HelloWorld { private static Logger logger = LogManager.getLogger("HelloWorld"); public static void main(String[] args) { logger.debug("Will not show."); logger.error("Hello, World!"); } }
即可在控制台看到
20:35:34.712 [main] ERROR com.hankcs.Main - Hello, World!
設定檔log4j2.xml
預設的配置只將ERROR及以上層級的日誌輸出到控制台,可以通過在根目錄建立一個log4j2.xml來自訂它:
<?xml version="1.0" encoding="UTF-8"?> <configuration status="OFF"> <appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> </appenders> <loggers> <root level="trace"> <appender-ref ref="Console"/> </root> </loggers> </configuration>
然後來一段複雜一點的測試:
package com.hankcs; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; public class Main { public static org.apache.logging.log4j.Logger logger = LogManager.getLogger(); public static void main(String[] args) { add(1, 2); } public static int add(int a , int b) { logger.entry(a, b); logger.info("我是info資訊"); logger.warn("我是warn資訊"); logger.error("我是error資訊"); logger.fatal("我是fatal資訊"); logger.printf(Level.TRACE, "%d+%d=%d", a, b, a + b); logger.exit(a + b); return a + b; } }
輸出: