詳解log4j2(下) - Async/MongoDB/Flume Appender 按記錄層級區分檔案輸出

來源:互聯網
上載者:User
1. 按記錄層級區分檔案輸出

有些人習慣按日誌資訊層級輸出到不同名稱的檔案中,如info.log,error.log,warn.log等,在log4j2中可通過配置Filters來實現。

假定需求是把INFO及以下層級的資訊輸出到info.log,WARN和ERROR層級的資訊輸出到error.log,FATAL層級輸出到fatal.log,設定檔如下:

[java]  view plain  copy  print ? <Configuration status="WARN" monitorInterval="300">       <properties>           <property name="LOG_HOME">D:/logs</property>       </properties>       <Appenders>           <Console name="Console" target="SYSTEM_OUT">               <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />           </Console>              <RollingRandomAccessFile name="InfoFile"               fileName="${LOG_HOME}/info.log"               filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">               <Filters>                   <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL" />                   <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />               </Filters>               <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />               <Policies>                   <TimeBasedTriggeringPolicy />                   <SizeBasedTriggeringPolicy size="10 MB" />               </Policies>               <DefaultRolloverStrategy max="20" />           </RollingRandomAccessFile>                      <RollingRandomAccessFile name="ErrorFile"               fileName="${LOG_HOME}/error.log"               filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">               <Filters>                   <ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL" />                   <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY" />               </Filters>               <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />               <Policies>                   <TimeBasedTriggeringPolicy />                   <SizeBasedTriggeringPolicy size="10 MB" />               </Policies>               <DefaultRolloverStrategy max="20" />           </RollingRandomAccessFile>                      <RollingRandomAccessFile name="FatalFile"               fileName="${LOG_HOME}/fatal.log"               filePattern="${LOG_HOME}/$${date:yyyy-MM}/fatal-%d{yyyy-MM-dd}-%i.log">               <Filters>                   <ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="DENY" />  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.