springboot2 log4j 2 配置

經過pom配置log4j 2所須要的依賴

去掉項目自己的日誌框架換上log4j2依賴java

建立log4j 2 xml配置文件

配置讀取log4j2的配置文件路徑spring

log4j2-dev.xmlmybatis

<?xml version="1.0" encoding="UTF-8" ?>
<!--status 是否記錄log4j2自己的event信息默認OFF print level:TRACE < DEBUG < INFO <WARN < ERROR < FATAL
    monitorInterval 300秒檢查一下配置,若是有變化不須要重啓服務,自動更新-->
<Configuration package="com.megatron" status="TRACE" monitorInterval="300">
    <Properties>
        <!--自定義指定路徑-->
        <Property name="LOG_HOME">/lv_data/logs/java/</Property>
        <Property name="PATTERN_FORMAT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread][%-5level][%l]:%m%n</Property>
    </Properties>

    <Appenders>
        <!--輸出到控制檯-->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout charset="UTF-8" pattern="${PATTERN_FORMAT}" />
        </Console>

        <!--循環輸出到文件 fileName:當前日誌存儲路徑 filePattern 歷史日誌存儲路徑-->
        <RollingRandomAccessFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd HH-mm}-%info.log.gz">
            <Filters>
                <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" />
            </Filters>

            <PatternLayout pattern="${PATTERN_FORMAT}" />

            <Policies>
                <!--這裏的1的單位是filePattern裏面的%d{yyyy-MM-dd HH-mm}-%i.log 最小的單位mm表示分鐘-->
                <TimeBasedTriggeringPolicy interval="1" />
                <!--日誌文件大小-->
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <!--最多保留文件數-->
            <DefaultRolloverStrategy max="20" />
        </RollingRandomAccessFile>

        <RollingRandomAccessFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd HH-mm}-%warn.log.gz">
            <Filters>
                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL" />
            </Filters>

            <PatternLayout pattern="${PATTERN_FORMAT}" />

            <Policies>
                <!--這裏的1的單位是filePattern裏面的%d{yyyy-MM-dd HH-mm}-%i.log 最小的單位mm表示分鐘-->
                <TimeBasedTriggeringPolicy interval="1" />
                <!--日誌文件大小-->
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <!--最多保留文件數-->
            <DefaultRolloverStrategy max="20" />
        </RollingRandomAccessFile>

        <RollingRandomAccessFile name="RollingFileError" fileName="${LOG_HOME}/error.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd HH-mm}-%error.log.gz">
<!--            <Filters>-->
<!--                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL" />-->
<!--            </Filters>-->

            <PatternLayout pattern="${PATTERN_FORMAT}" />

            <Policies>
                <!--這裏的1的單位是filePattern裏面的%d{yyyy-MM-dd HH-mm}-%i.log 最小的單位mm表示分鐘-->
                <TimeBasedTriggeringPolicy interval="1" />
                <!--日誌文件大小-->
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <!--最多保留文件數-->
            <DefaultRolloverStrategy max="20" />
        </RollingRandomAccessFile>
    </Appenders>

    <Loggers>
        <Logger name="org.springframework" level="INFO">
            <AppenderRef ref="Console" />
        </Logger>
        <Logger name="com.megatron" level="debug" additivity="false">
            <AppenderRef ref="Console" />
            <AppenderRef ref="RollingFileInfo" />
            <AppenderRef ref="RollingFileWarn" />
            <AppenderRef ref="RollingFileError" />
        </Logger>
        <Logger name="org.mybatis" level="trace" additivity="false">
            <AppenderRef ref="Console" />
        </Logger>
        <Root level="info">
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>
</Configuration>

運行調試查看是否成功

相關文章
相關標籤/搜索