Log4j配置---按照類型輸出到文件中

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="off">
    <properties>
        <!--設置日誌在硬盤上輸出的目錄${log4j:configParentLocation}使用此查找將日誌文件放在相對於log4j配置文件的目錄中-->
        <property name="Log_Home">/opt/Manager/logs</property>
    </properties>
    <appenders>
        <!--輸出控制檯的配置-->
        <Console name="Console" target="SYSTEM_OUT">
            <!--輸出日誌的格式
            %L::輸出代碼中的行號。
            %M:輸出產生日誌信息的方法名。-->
            <!--"%highlight{%d{HH:mm:ss.SSS} %-5level %logger{36}.%M() @%L - %msg%n}{FATAL=Bright Red, ERROR=Bright Magenta, WARN=Bright Yellow, INFO=Bright Green, DEBUG=Bright Cyan, TRACE=Bright White}"-->
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36}.%M @%L :-> %msg%xEx%n"/>
        </Console>

        <!--這個會打印出所有的信息,每次大小超過size,則這size大小的日誌會自動存入按年份-月份建立的文件夾下面並進行壓縮,作爲存檔-->
        <RollingFile name="info" fileName="${Log_Home}/info.${date:yyyy-MM}.log" immediateFlush="true"
                     filePattern="${Log_Home}/info.${date:yyyy-MM}-%i.log">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36}.%M @%L ->  :%msg%xEx%n"/>
            <!--控制檯只輸出level的信息(onMatch),其他的直接拒絕(onMismatch)-->
            <filters>
                <ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            </filters>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </RollingFile>

        <RollingFile name="warn" fileName="${Log_Home}/warn.${date:yyyy-MM}.log" immediateFlush="true"
                     filePattern="${Log_Home}/warn.${date:yyyy-MM}-%i.log">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36}.%M @%L ->  :%msg%xEx%n"/>
            <filters>
                <ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
            </filters>

            <SizeBasedTriggeringPolicy size="10MB"/>
        </RollingFile>

        <!--   這個會打印出所有的信息,每次大小超過size,則這size大小的日誌會自動存入按年份-月份建立的文件夾下面並進行壓縮,作爲存檔 -->
        <RollingFile name="error" fileName="${Log_Home}/error.${date:yyyy-MM}.log" immediateFlush="true"
                     filePattern="${Log_Home}/error.${date:yyyy-MM}-%i.log">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36}.%M @%L ->  :%msg%xEx%n"/>
            <filters>
                <ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
            </filters>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </RollingFile>

        <!-- 這個會打印出所有的信息,每次大小超過size,則這size大小的日誌會自動存入按年份-月份建立的文件夾下面並進行壓縮,作爲存檔 -->
        <RollingFile name="fatal" fileName="${Log_Home}/fatal.${date:yyyy-MM}.log" immediateFlush="true"
                     filePattern="${Log_Home}/fatal.${date:yyyy-MM}-%i.log">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36}.%M @%L ->  :%msg%xEx%n"/>
            <filters>
                <ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="DENY"/>
            </filters>

            <SizeBasedTriggeringPolicy size="10MB"/>
        </RollingFile>

    </appenders>
    <loggers>
        <root level="info">
            <appenderRef ref="info" />
            <appenderRef ref="warn" />
            <appenderRef ref="error" />
            <appenderRef ref="fatal" />
        </root>
    </loggers>
</Configuration>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章