從Java 9開始JDK已經提供日誌記錄器

banq發表於2022-02-16

無需Log4J2或SLF4J,從 Java 9 開始就可用System.Logger實現日誌記錄:

public class LoggerExample {

  private static final System.Logger LOGGER = System.getLogger("c.f.b.DefaultLogger"); 

  public static void main(String[] args) {
      LOGGER.log(DEBUG, "A debug message");
      LOGGER.log(INFO, "Hello world!");
  }
}

執行上面的程式碼段會輸出以下內容:

Dec 24, 2021 10:38:15 AM c.f.b.DefaultLogger main
INFO: Hello world!

Log4J2或SLF4J。兩者都提供了相容的System.Logger實現。

對於 Log4J,我們需要新增兩個依賴項:

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>            
        <version>2.17.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>    
        <artifactId>log4j-jpl</artifactId>
        <version>2.17.0</version>
    </dependency>
</dependencies>

要改用 SLF4J,請使用以下依賴項:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>               
        <version>2.0.0-alpha5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk-platform-logging</artifactId> 
        <version>2.0.0-alpha5</version>
    </dependency>
</dependencies>

完整maven配置可以在這裡 格式中找到

相關文章