使用Log4j2輸出日誌演示

Ashe|||^_^發表於2024-03-23

pom.xml引入依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions><!-- 去掉 Spring Boot 預設日誌配置 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 引入 Log4j2 依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

log4j2配置檔案(預設位於src/main/resources路徑下)

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <!-- 日誌檔案輸出 日誌 -->
        <RollingFile name="File" fileName="logs/my_app.log"
                     filePattern="logs/$${date:yyyy-MM}/my_app-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
            <Policies>
                <!-- 指定的時間間隔觸發日誌滾動,未配置,預設1小時 -->
                <TimeBasedTriggeringPolicy/>
                <!-- 日誌檔案大小達到指定大小時觸發日誌滾動,Log4j2 就會滾動日誌檔案 -->
                <SizeBasedTriggeringPolicy size="10MB"/>
                <!-- 滿足其中一個觸發條件(時間/檔案大小),都會執行日誌滾動 -->
            </Policies>
            <!-- 最多保留 10 個滾動的日誌檔案,優先刪除最舊的日誌檔案 -->
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <!-- 控制檯輸出 日誌 -->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>


    <Loggers>
        <Root level="info">
            <AppenderRef ref="File"/>
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

相關文章