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>

运行调试查看是否成功

相关文章
相关标签/搜索