美文网首页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