美文网首页Springboot
Springboot[日志篇]--集成log4j2

Springboot[日志篇]--集成log4j2

作者: 未知角色 | 来源:发表于2019-03-26 14:33 被阅读0次

  Spring Boot默认支持的是Logback的日志系统,本节需求为:变更日志系统,使得Spring通过log4j2对日志输出。
  在springboot1.4版本已经能够支持log4j2的支持,所以只要简单配置即可完成。
\color{blue}{传送门:}
  Springboot[日志篇]--集成log4j2输出到mongodb
  log4j2官方文档

1. POM配置

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <!-- 排除logback -->
            <exclusions>
                <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>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-web</artifactId>
        </dependency>
        <!-- log4j2异步处理依赖(同步处理不用引入) -->
        <dependency>
            <groupId>com.lmax</groupId>
            <artifactId>disruptor</artifactId>
            <version>3.4.2</version>
        </dependency>

2. log4j2.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO">
    <properties>
        <property name="LOG_HOME">/logs/demo</property>
        <property name="INFO_LOG_FILE_NAME">demo_info</property>
        <property name="ERROR_LOG_FILE_NAME">demo_error</property>
    </properties>
    <appenders>
        <console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%highlight{[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] [%t] [%c{1.}] - %m%n}"/>
        </console>

        <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/${INFO_LOG_FILE_NAME}.log"
                     filePattern="${LOG_HOME}/${INFO_LOG_FILE_NAME}.%d{yyyy-MM-dd}.log.gz">
            <Filters>
                <ThresholdFilter level="INFO"/>
                <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] [%t] [%c{1.}] - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>

        <RollingFile name="RollingFileError" fileName="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.log"
                     filePattern="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.%d{yyyy-MM-dd}.log.gz">
            <ThresholdFilter level="ERROR"/>
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] [%t] [%c{1.}] - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>
    </appenders>

    <loggers>
        <logger name="org.springframework" level="ERROR"></logger>
        <root level="debug">
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFileInfo"/>
            <appender-ref ref="RollingFileError"/>
        </root>
    </loggers>

</configuration>

异步日志配置log4j2.component.properties

# 全局异步日志
Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
# 控制台彩色打印(新版本默认不支持)
skipJansi=false

\color{red}{end}

相关文章

网友评论

    本文标题:Springboot[日志篇]--集成log4j2

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