log42的配置

JVM的配置:

DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

参考资料:

https://www.cnblogs.com/Mainz/p/3628414.html

<?xml version="1.0" encoding="UTF-8"?>

<!-- status=debug 可以查看log4j的装配过程 -->

<Configuration monitorInterval="120" status="info">

  <properties>

    <property name="log.home">/export/Logs/com.xxx.tt</property>

    <Property name="logPatternLayout">%d{yyyy-MM-dd HH:mm:ss.SSS} - %X{x-request-id} [%t] %-5level %logger{1.}:%L - %msg%n</Property>

    <Property name="rollingLogSize">128 MB</Property>

    <Property name="keepDay">60D</Property>

    <Property name="log.level">info</Property>

  </properties>

  <Appenders>

    <Console name="console" target="SYSTEM_OUT">

      <ThresholdFilter level="${log.level}" onMatch="ACCEPT" onMismatch="DENY"/>

      <PatternLayout pattern="${logPatternLayout}"/>

    </Console>

    

    <!-- INFO级别日志 -->

    <RollingRandomAccessFile name="INFO_FILE" fileName="${log.home}/info.log"  filePattern="${log.home}/$${date:yyyyMMdd}/info.%d{yyyyMMdd}-%i.log.gz"  immediateFlush="false">

      <PatternLayout pattern="${logPatternLayout}"/>

      <Filters>

        <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>

      </Filters>

      <!-- 备份策略:满足其中一个就可以启动备份-->

      <Policies>

        <!-- interval 多久执行一次备份,单位为 RollingRandomAccessFile的属性filePattern中%d{yyyy-MM-dd}的最小时间单位,此处是天-->

        <TimeBasedTriggeringPolicy  interval="1"  modulate="true"/>

        <SizeBasedTriggeringPolicy size="${rollingLogSize}"/>

      </Policies>

      <DefaultRolloverStrategy>

        <!-- 删除指定目录下60天之前的日志-->

        <Delete basePath="${log.home}" maxDepth="2">

          <IfFileName glob="*/info.*.log.gz" />

          <IfLastModified age="${keepDay}" />

        </Delete>

      </DefaultRolloverStrategy>

    </RollingRandomAccessFile>

    <!-- ERROR级别日志 -->

    <RollingRandomAccessFile name="ERROR_FILE" fileName="${log.home}/error.log"  filePattern="${log.home}/$${date:yyyyMMdd}/error.%d{yyyyMMdd}-%i.log.gz" 

     immediateFlush="false">

      <PatternLayout pattern="${logPatternLayout}"/>

      <Filters>

        <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>

      </Filters>

      <!-- 备份策略:满足其中一个就可以启动备份-->

      <Policies>

        <!-- interval 多久执行一次备份,单位为 RollingRandomAccessFile的属性filePattern中%d{yyyy-MM-dd}的最小时间单位,此处是天-->

        <TimeBasedTriggeringPolicy  interval="1"  modulate="true"/>

        <SizeBasedTriggeringPolicy size="${rollingLogSize}"/>

      </Policies>

      <DefaultRolloverStrategy>

        <!-- 删除指定目录下60天之前的日志-->

        <Delete basePath="${log.home}" maxDepth="2">

          <IfFileName glob="*/error.*.log.gz" />

          <IfLastModified age="${keepDay}" />

        </Delete>

      </DefaultRolloverStrategy>

    </RollingRandomAccessFile>

    

    <!-- MQ日志 -->

    <RollingRandomAccessFile name="JMQ_FILE" fileName="${log.home}/jmq.log"  filePattern="${log.home}/$${date:yyyyMMdd}/jmq.%d{yyyyMMdd}-%i.log.gz" 

     immediateFlush="false">

      <PatternLayout pattern="${logPatternLayout}"/>

      <!-- 备份策略:满足其中一个就可以启动备份-->

      <Policies>

        <!-- interval 多久执行一次备份,单位为 RollingRandomAccessFile的属性filePattern中%d{yyyy-MM-dd}的最小时间单位,此处是天-->

        <TimeBasedTriggeringPolicy  interval="1"  modulate="true"/>

        <SizeBasedTriggeringPolicy size="${rollingLogSize}"/>

      </Policies>

      <DefaultRolloverStrategy>

        <!-- 删除指定目录下60天之前的日志-->

        <Delete basePath="${log.home}" maxDepth="2">

          <IfFileName glob="*/jmq.*.log.gz" />

          <IfLastModified age="${keepDay}" />

        </Delete>

      </DefaultRolloverStrategy>

    </RollingRandomAccessFile>

    

     <!-- work日志 -->

    <RollingRandomAccessFile name="WORK_FILE" fileName="${log.home}/work.log"  filePattern="${log.home}/$${date:yyyyMMdd}/work.%d{yyyyMMdd}-%i.log.gz" 

     immediateFlush="false">

      <PatternLayout pattern="${logPatternLayout}"/>

      <!-- 备份策略:满足其中一个就可以启动备份-->

      <Policies>

        <!-- interval 多久执行一次备份,单位为 RollingRandomAccessFile的属性filePattern中%d{yyyy-MM-dd}的最小时间单位,此处是天-->

        <TimeBasedTriggeringPolicy  interval="1"  modulate="true"/>

        <SizeBasedTriggeringPolicy size="${rollingLogSize}"/>

      </Policies>

      <DefaultRolloverStrategy>

        <!-- 删除指定目录下60天之前的日志-->

        <Delete basePath="${log.home}" maxDepth="2">

          <IfFileName glob="*/work.*.log.gz" />

          <IfLastModified age="${keepDay}" />

        </Delete>

      </DefaultRolloverStrategy>

    </RollingRandomAccessFile>

    <!-- jsf日志 -->

    <RollingRandomAccessFile name="JSF_FILE" fileName="${log.home}/jsf.log"  filePattern="${log.home}/$${date:yyyyMMdd}/jsf.%d{yyyyMMdd}-%i.log.gz"  immediateFlush="false">

      <PatternLayout pattern="${logPatternLayout}"/>

      <!-- 备份策略:满足其中一个就可以启动备份-->

      <Policies>

        <!-- interval 多久执行一次备份,单位为 RollingRandomAccessFile的属性filePattern中%d{yyyy-MM-dd}的最小时间单位,此处是天-->

        <TimeBasedTriggeringPolicy  interval="1"  modulate="true"/>

        <SizeBasedTriggeringPolicy size="${rollingLogSize}"/>

      </Policies>

      <DefaultRolloverStrategy>

        <!-- 删除指定目录下60天之前的日志-->

        <Delete basePath="${log.home}" maxDepth="2">

          <IfFileName glob="*/jsf.*.log.gz" />

          <IfLastModified age="60d" />

        </Delete>

      </DefaultRolloverStrategy>

    </RollingRandomAccessFile>

  </Appenders>

  <Loggers>

    <!-- 关闭某个目录的日志 -->
    <Logger additivity="false" level="OFF" name="com.XXXX"/>

    <Logger additivity="false" level="OFF" name="com.XXXX"/>

    <Logger additivity="false" level="OFF" name="com.XXXX"/>

    

    <Logger additivity="true" level="${log.level}" name="com.jd">

      <appender-ref ref="ERROR_FILE"/>

      <appender-ref ref="INFO_FILE"/>

    </Logger>

    

    <Logger additivity="true" level="${log.level}" name="com.XXXq">

      <appender-ref ref="JMQ_FILE"/>

    </Logger>

    <Logger additivity="true" level="${log.level}" name="com.XXX.jmq">

      <appender-ref ref="JMQ_FILE"/>

    </Logger>

     <Logger additivity="true" level="${log.level}" name="com.XXX.worker">

      <appender-ref ref="WORK_FILE"/>

    </Logger>

    <Logger additivity="true" level="${log.level}" name="com.****.worker">

      <appender-ref ref="WORK_FILE"/>

    </Logger>

    <Logger additivity="true" level="${log.level}" name="jsf-provider-log">

      <appender-ref ref="JSF_FILE"/>

    </Logger>

    <Logger additivity="true" level="${log.level}" name="jsf-consumer-log">

      <appender-ref ref="JSF_FILE"/>

    </Logger>

    

    <Root level="${log.level}">

      <appender-ref ref="console"/>

    </Root>

  </Loggers>

</Configuration>

转载于:https://my.oschina.net/ttscjr/blog/2990857

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值