美文网首页
spring boot 日志之 log4j2

spring boot 日志之 log4j2

作者: 阿亚2011 | 来源:发表于2018-10-12 17:44 被阅读0次

记录一下spring boot使用log4j2日志框架, 配置使用异步写入日志

导入依赖(gradle)

configurations {
    all*.exclude group: 'org.slf4j', module: 'slf4j-log4j12'
    all*.exclude group: 'log4j', module: 'log4j'
    all*.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.springframework.boot:spring-boot-starter-log4j2')
    compile ('com.lmax:disruptor:3.4.2')
}

启动参数加入

-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

配置文件

log4j2-spring.xml放到resources/目录下面

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <RollingRandomAccessFile name="RollingFile"
                                 fileName="logs/PROJECT_NAME.log"
                                 filePattern="logs/$${date:yyyy-MM}/PROJECT_NAME-%d{yyyy-MM-dd}.log"
                                 immediateFlush="false">
            <PatternLayout pattern="%d{MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
            <Policies>
                <CronTriggeringPolicy schedule="0 0 0 * * ?" evaluateOnStartup="false"/>
            </Policies>
        </RollingRandomAccessFile>
    </Appenders>

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

相关文章

网友评论

      本文标题:spring boot 日志之 log4j2

      本文链接:https://www.haomeiwen.com/subject/efvgaftx.html