1. 程式人生 > 實用技巧 >springboot+log4j2配置

springboot+log4j2配置

基本上預設這樣配置,修修改改就可以使用了,完全ok

    <!--monitorInterval是用來設定配置檔案的動態載入時間的,單位是秒。-->
<appenders>
    <console name="Console" target="SYSTEM_OUT">
        <!--輸出日誌的格式-->
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </console>

    <!-- 這個會打印出所有的info及以下級別的資訊,每次大小超過size,則這size大小的日誌會自動存入按年份-月份建立的資料夾下面並進行壓縮,作為存檔-->
    <RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz">
    <!--<RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd HH-mm-ss}_%i.log.gz">-->
        <PatternLayout pattern="${LOG_PATTERN}"/>
        <Policies>
            <!--interval屬性用來指定多久滾動一次,根據當前filePattern配置 %{yyyy-MM-dd HH-mm-ss}-->
            <TimeBasedTriggeringPolicy interval="30" modulate="true"/>
            <!--檔案大小,當超過這個時,自動存檔,壓縮,並生成一個新的檔案-->
            <SizeBasedTriggeringPolicy size="10KB"/>
        </Policies>

        <!-- DefaultRolloverStrategy屬性如不設定,則預設為最多同一資料夾下7個檔案開始覆蓋-->
        <DefaultRolloverStrategy max="7">
            <!--刪除日誌 maxDepth:代表掃描的目錄深度-->
            <Delete basePath="${FILE_PATH}/" maxDepth="2">
                <!--<IfFileName glob="*/app-*.log.gz" />-->
                <IfFileName glob="${FILE_NAME}-INFO-*.log.gz" />
                <IfLastModified age="90d" />
            </Delete>
        </DefaultRolloverStrategy>
    </RollingFile>
</appenders>

<loggers>
    <!-- root是根目錄,記錄輸出level等級 -->
    <!--
        logger是單獨用來指定日誌的形式
        name: 指定輸出日誌的路
        additivity: 輸出日誌是否追加在 root根目錄下, 預設true(使用預設就好),
            1.如果false則只會在自己的appender中輸出,不會在父logger中輸出,如果appender沒有,則不會輸出
            2.指定 appender-ref ,如果指定,並且會處理他們的
        appender-ref: 具體要輸出的地方,可以指定
     -->
    <root level="info">
        <appender-ref ref="Console"/>
        <appender-ref ref="RollingFileInfo"/>
    </root>
    <logger name="com.example.demo.mapper" level="debug" additivity="true">
        <!--如果不指定appender的話,則輸出到所有-->
        <!--<appender-ref ref="RollingFileInfo"/>-->
    </logger>
</loggers>