log4j2.xml


<?xml version="1.0" encoding="UTF-8"?>
<configuration status="info">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %-5level %logger{30}.%method - %msg%n"/>
        </Console>

        <!--默認按天&按512M文件大小切分日志,默認最多保留30個日志文件,非阻塞模式-->
        <XMDFile name="infoAppender" fileName="info.log" sizeBasedTriggeringSize="512M"
                 rolloverMax="30">
            <Filters>
                <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
        </XMDFile>

        <XMDFile name="warnAppender" fileName="warn.log" sizeBasedTriggeringSize="512M"
                 rolloverMax="30">
            <Filters>
                <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
        </XMDFile>

        <XMDFile name="errorAppender" fileName="error.log" sizeBasedTriggeringSize="512M"
                 rolloverMax="30">
            <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
        </XMDFile>

        <!--日志遠程上報-->
        <Scribe name="ScribeAppender">
            <!--遠程日志默認使用appkey作為日志名(app.properties文件中的app.name字段),也可自定義scribeCategory屬性,scribeCategory優先級高於appkey-->
            <LcLayout/>
        </Scribe>
        <Async name="ScribeAsyncAppender" blocking="false">
            <AppenderRef ref="ScribeAppender"/>
        </Async>

        <!--hive日志遠程上報-->
        <Scribe name="ScribeHiveAppender">
            <!--遠程日志默認使用appkey作為日志名(app.properties文件中的app.name字段),也可自定義scribeCategory屬性,scribeCategory優先級高於appkey-->
            <Property name="scribeCategory">qcs.regulation.jiaotongbu</Property>
            <LcLayout/>
        </Scribe>
        <Async name="XMDFileAppender" blocking="false">
            <AppenderRef ref="ScribeHiveAppender"/>
        </Async>

        <CatAppender name="catAppender"/>

    </appenders>

    <loggers>
        <logger name="hive-logger" additivity="false">
            <AppenderRef ref="XMDFileAppender"/>
            <appender-ref ref="ScribeAsyncAppender"/>
        </logger>

        <logger name="com.sankuai.qcs.regulation" additivity="false">
            <appender-ref ref="ScribeAsyncAppender"/>
            <appender-ref ref="infoAppender"/>
            <appender-ref ref="warnAppender"/>
            <appender-ref ref="errorAppender"/>
            <appender-ref ref="catAppender"/>
        </logger>

        <!--其他日志-->
        <root level="info">
            <appender-ref ref="warnAppender"/>
            <appender-ref ref="errorAppender"/>
            <appender-ref ref="Console"/>
            <appender-ref ref="catAppender"/>
        </root>
    </loggers>
</configuration>

其中 最后的:

<root level="info">
            <appender-ref ref="warnAppender"/>
            <appender-ref ref="errorAppender"/>
            <appender-ref ref="Console"/>
            <appender-ref ref="catAppender"/>
        </root>
指的是<!-- 設置根日志級別,指定路徑中的日志優先級大於根日志優先級
如果設置了level=info 就是說 根目錄會打印info以上的信息;
參考:Log4J日志信息配置文件詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM