天天看點

lo4j2.xml 配置檔案

lo4j2.xml 配置檔案

<?xml version="1.0" encoding="UTF-8"?>
<!--monitorInterval:Log4j能夠自動檢測修改配置 檔案和重新配置本身,設定間隔秒數-->
<configuration status="WARN" monitorInterval="60">
    <Properties>
        <Property name="PID">????</Property>
        <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
        <Property name="LOG_LEVEL_PATTERN">%5p</Property>
        <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
        <!-- 控制台日志格式化,包含顔色-->
        <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
        <!-- 日志檔案預設輸出格式,不帶行号輸出(行号顯示會影響日志輸出性能);%C:大寫,類名;%M:方法名;%m:錯誤資訊;%n:換行 -->
        <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
        <!-- 日志存儲路徑 -->
        <property name="FILE_PATH" value="${ctx:log4j2.output.path}" />
        <!-- 日志存儲名稱 -->
        <property name="FILE_NAME" value="${ctx:log4j2.output.name}" />
        <!-- 日志預設輸出日志檔案級别 -->
        <property name="OUTPUT_LOG_LEVEL" value="${ctx:log4j2.output.level}" />
    </Properties>

    <!--定義appender -->
    <Appenders>
        <!-- 預設的控制台日志輸出,一般生産環境都是背景啟動,這個沒太大作用 -->
        <Console name="Console" target="SYSTEM_OUT" follow="false">
            <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
        </Console>
        <Async name="Async">
            <AppenderRef ref="Console"/>
        </Async>

        <!-- debugger日志 -->
        <RollingFile name="DebugLogger" fileName="${FILE_PATH}/${FILE_NAME}-debug.log" filePattern="${FILE_PATH}/debug/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="DEBUG"/>
                <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <PatternLayout pattern="${sys:FILE_LOG_PATTERN}"/>
            <Policies>
                <!--interval屬性用來指定多久滾動一次,預設是1 hour-->
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!--根據檔案大小來滾動-->
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
            <!-- 預設為最多同一檔案夾下7個檔案開始覆寫-->
            <DefaultRolloverStrategy max="1"/>
        </RollingFile>

        <!-- info日志 -->
        <RollingFile name="InfoLogger" fileName="${FILE_PATH}/${FILE_NAME}-info.log" filePattern="${FILE_PATH}/info/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="INFO"/>
                <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <PatternLayout pattern="${sys:FILE_LOG_PATTERN}"/>
            <Policies>
                <!--interval屬性用來指定多久滾動一次,預設是1 hour-->
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!--根據檔案大小來滾動-->
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
            <!-- 預設為最多同一檔案夾下7個檔案開始覆寫-->
            <DefaultRolloverStrategy max="3"/>
        </RollingFile>

        <!-- warn日志 -->
        <RollingFile name="WarnLogger" fileName="${FILE_PATH}/${FILE_NAME}-warn.log" filePattern="${FILE_PATH}/warn/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="WARN"/>
                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <PatternLayout pattern="${sys:FILE_LOG_PATTERN}"/>
            <Policies>
                <!--interval屬性用來指定多久滾動一次,預設是1 hour-->
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!--根據檔案大小來滾動-->
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
            <!-- 預設為最多同一檔案夾下7個檔案開始覆寫-->
            <DefaultRolloverStrategy max="5"/>
        </RollingFile>

        <!-- error日志 -->
        <RollingFile name="ErrorLogger" fileName="${FILE_PATH}/${FILE_NAME}-error.log" filePattern="${FILE_PATH}/error/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <PatternLayout pattern="${sys:FILE_LOG_PATTERN}"/>
            <Policies>
                <!--interval屬性用來指定多久滾動一次,預設是1 hour-->
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!--根據檔案大小來滾動-->
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
            <!-- 預設為最多同一檔案夾下7個檔案開始覆寫-->
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>

    </Appenders>

    <Loggers>
        <Logger name="org.mybatis" level="debug"/>
        <Logger name="com.java" level="debug"/>
        <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
        <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
        <Logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
        <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
        <Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
        <Logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
        <Logger name="springfox.documentation.swagger2" level="off"/>
        <Logger name="io.swagger.models.parameters" level="off"/>

        <!-- includeLocation 列印行号,如果這裡不設定,就算%L 也不會列印行号 -->
        <Root level="${OUTPUT_LOG_LEVEL}" includeLocation="true">
            <appender-ref ref="Async"/>
            <appender-ref ref="DebugLogger"/>
            <appender-ref ref="InfoLogger"/>
            <appender-ref ref="WarnLogger"/>
            <appender-ref ref="ErrorLogger"/>
        </Root>

    </Loggers>
</configuration>
           

spring-boot項目木人檔案名為 log4j2-spring.xml

轉載或分享請加上原位址!!!