Log4j2.xml详解

Log4j2.xml详解

 

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" monitorInterval="600">


   <Properties>
      <!--日志文件存放目录-->
      <Property name="LOG_HOME">/epcfw/wsg/logs</Property>
   </Properties>


   <Appenders>

<!--控制台日志输出格式 -->
      <Console name="Console" target="SYSTEM_OUT">
         <PatternLayout pattern="[%-5p] %d{yy-MM-dd HH:mm:ss.SSS} [%C.%M:%L(%t)] ~ %m%n" />
      </Console>

<!--此次配置一个日志发送一次;connectTimeoutMillis是与鹰眼服务器连接超时时间;requestTimeoutMillis是发送鹰眼日志超时时间;maxDelayMillis是最大间隔时间-->

<!--鹰眼日志配置-->
      <Flume name="EventLogger" compress="false" connectTimeoutMillis="3000"
         requestTimeoutMillis="60000"  maxDelayMillis="600000">
         <!--府青-->
         <Property name="channel.type">memory</Property>
         <Property name="channel.capacity">100</Property>

<!--transactionCapacity小于capacity-->
         <Property name="channel.transactionCapacity">1</Property>

<!--有几个主机就写几个agent-->
         <Property name="sinks">agent1 agent2 agent3 agent4 agent5 agent6</Property>
         <Property name="agent1.type">avro</Property>
         <Property name="agent1.hostname">10.113.161.83</Property>
         <Property name="agent1.port">8505</Property>

<!--batch-size要小于transactionCapacity -->
         <Property name="agent1.batch-size">1</Property>
         <Property name="agent1.connect-timeout">3000</Property>
         <Property name="agent1.request-timeout">60000</Property>
         <Property name="agent2.type">avro</Property>
         <Property name="agent2.hostname">10.113.161.84</Property>
         <Property name="agent2.port">8505</Property>
         <Property name="agent2.batch-size">1</Property>
         <Property name="agent2.connect-timeout">3000</Property>
         <Property name="agent2.request-timeout">60000</Property>
         <Property name="agent3.type">avro</Property>
         <Property name="agent3.hostname">10.113.161.85</Property>
         <Property name="agent3.port">8505</Property>
         <Property name="agent3.batch-size">1</Property>
         <Property name="agent3.connect-timeout">3000</Property>
         <Property name="agent3.request-timeout">60000</Property>
         <Property name="agent4.type">avro</Property>
         <Property name="agent4.hostname">10.113.161.86</Property>
         <Property name="agent4.port">8505</Property>
         <Property name="agent4.batch-size">1</Property>
         <Property name="agent4.connect-timeout">3000</Property>
         <Property name="agent4.request-timeout">60000</Property>
         <Property name="agent5.type">avro</Property>
         <Property name="agent5.hostname">10.113.161.87</Property>
         <Property name="agent5.port">8505</Property>
         <Property name="agent5.batch-size">1</Property>
         <Property name="agent5.connect-timeout">3000</Property>
         <Property name="agent5.request-timeout">60000</Property>
         <Property name="agent6.type">avro</Property>
         <Property name="agent6.hostname">10.113.161.88</Property>
         <Property name="agent6.port">8505</Property>
         <Property name="agent6.batch-size">1</Property>
         <Property name="agent6.connect-timeout">3000</Property>
         <Property name="agent6.request-timeout">60000</Property>

<!--均衡加载-->
         <Property name="processor.type">load_balance</Property>
         <Property name="processor.backoff">true</Property>

<!-- 随机分配-->
         <Property name="processor.selector">round_robin</Property>
         <Property name="processor.selector.maxTimeOut">300000</Property>
         <PatternLayout pattern="%m" />
      </Flume>

<!--滚动日志文件的配置 -->
      <Routing name="Routing">

<Routes pattern="$${ctx:moduleName}">

  <Route>

     <RollingFile name="LogFile" append="true" fileName="${LOG_HOME}/ep-${sys:PORT}.log"

filePattern="${LOG_HOME}/ep-${sys:PORT}.log.%i">

<!-- [%X{ip}-%X{timestamp}-%X{uri}] 这个是把ip、timestamp、uri放入到ThreadContext里,log4j2会自己获取;参考com.sitech.cfw.wsg.esb.log.Log4jMDCFilter

-->

  <PatternLayout pattern="[%-5p] [%X{ip}-%X{timestamp}-%X{uri}] %d{yy-MM-dd HH:mm:ss.SSS} [%C.%M:%L(%t)] ~ %m%n" />

 

    <Policies>

<!--一个日志文件最大500MB -->

<SizeBasedTriggeringPolicy size="500MB" />

    </Policies>

     <!--日志文件最多4个-->

    <DefaultRolloverStrategy max="4" />

  </RollingFile>

  </Route>

</Routes>

</Routing>
   </Appenders>

   <Loggers>

<!--文件日志,可以设置日志级别-->
      <Root level="info" includeLocation="true">
         <AppenderRef ref="Routing" />
      </Root>

<!--这个主要是FlumeLogger这个类的日志设置-->
     <Logger name="com.sitech.cfw.wsg.esb.flume.FlumeLogger" level="info" additivity="false" includeLocation="true">

<!--输出到文件中-->

 <AppenderRef ref="Routing" />

<!--输出到鹰眼日志-->

 <AppenderRef ref="EventLogger" />

</Logger>
   </Loggers>
</Configuration>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值