Springboot[日志篇]--集成log4j2

??Spring Boot默認支持的是Logback的日志系統,本節(jié)需求為:變更日志系統,使得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
# 控制臺彩色打?。ㄐ掳姹灸J不支持)
skipJansi=false

\color{red}{end}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容