1. 程式人生 > >springboot+log4j2配置日誌方法

springboot+log4j2配置日誌方法

springboot+log4j2配置日誌方式

宣告:為什麼springboot配置log4j2,一開始我配置的是logback.xml去做日誌處理,之後專案配置jenkins自動化部署,需要用log4j2.yml檔案
 

第一步,配置pom檔案

1.先去除springboot自帶的logging

2.新增log4j2依賴

3.新增yml識別

    <!-- Spring Boot Web 依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
            <version>2.0.4.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
        </dependency>

第二步配置log4j.yml 檔案

Configuration:
  status: info
  monitorInterval: 30

  Properties:
    property:
    -
      name: log_file_name
      value: "databus.log"

  Appenders:
    RollingFile:
      name: "serviceAppender"
      fileName: "${log_file_name}"
      filePattern: "${log_file_name}.%i"
      PatternLayout:
        Pattern: "%d %p %c{1.} [%t] %C{1} %M %m %ex%n"
      Policies:
        SizeBasedTriggeringPolicy:
          size: "50 MB"
        DefaultRolloverStrategy:
          max: 20
    Console:
      name: "consoleAppender"
      target: "SYSTEM_OUT"
      PatternLayout:
        Pattern: "%d %p %c{1.} [%t] %C{1} %M %m %ex%n"

  Loggers:
    Root:
      level: debug
      AppenderRef:
      - ref: "serviceAppender"
      - ref: "consoleAppender"

第三步application.yml 檔案載入log4j2.yml(可有可無)

如果你的日誌不區分生產開發測試不同的配置那麼這步可以省略

如果你區分開發日誌,測試日誌,生產日誌配置不同路徑沒那麼要在application.yml檔案配置載入log4j2.yml

如圖區分:

application.yml檔案新增下面分別載入不同log4j2.yml檔案。

logging:
  config: classpath:log4j2-development.yml

結束

感謝觀看