java常用日誌框架梳理

一、常見的Java日誌框架

  • log4j
  • jul(java.util.logging)
  • logback

二、常見的java日誌門面

  • SLF4J:Simple Logging Facade for Java,即簡單日誌門面,並不是具體的日誌框架,而是作爲一個簡單門面服務於各類日誌框架。提供了統一的記錄日誌的接口,對不同日誌系統的具體實現進行了抽象化,只要按照其提供的方法記錄即可,最終日誌的格式、記錄級別、輸出方式等通過綁定具體的日誌系統來實現。好處是只需要按照統一的方式寫記錄日誌的代碼。支持{}作爲佔位符,而不必再進行字符串的拼接,效率有顯著的提升。
  • public class LoggerTest {
    
        private static final Logger logger = LoggerFactory.getLogger(Tester.class);
    
        public static void main(String[] args) {
            logger.info("Current Time: {}", System.currentTimeMillis());
        }
    }
  • commons-logging

三、本人項目中使用的日誌框架

    springboot框架整合log4j2,依賴了spring-boot-starter-log4j2。看了這個jar包的pom.xml文件,其中依賴了log4j2、slf4j、及橋接jar包。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starters</artifactId>
      <version>1.5.4.RELEASE</version>
   </parent>
   <artifactId>spring-boot-starter-log4j2</artifactId>
   <name>Spring Boot Log4j 2 Starter</name>
   <description>Starter for using Log4j2 for logging. An alternative to
      spring-boot-starter-logging</description>
   <url>http://projects.spring.io/spring-boot/</url>
   <organization>
      <name>Pivotal Software, Inc.</name>
      <url>http://www.spring.io</url>
   </organization>
   <properties>
      <main.basedir>${basedir}/../..</main.basedir>
   </properties>
   <dependencies>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-slf4j-impl</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-api</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-core</artifactId>
      </dependency>
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>jcl-over-slf4j</artifactId>
      </dependency>
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>jul-to-slf4j</artifactId>
      </dependency>
   </dependencies>
</project>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章