当前位置: 首页 > news >正文

log4j2的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="300">
  <!--自定义属性,作为定义文件名或文本格式的参数-->
  <properties>
    <property name="LOG_HOME">logs</property>
    <property name="A_FILE_NAME">all</property>
    <property name="D_FILE_NAME">debug</property>
    <property name="E_FILE_NAME">error</property>
    <property name="W_FILE_NAME">warn</property>
    <property name="I_FILE_NAME">info</property>
  </properties>
  <Appenders>
    <!--控制台输出设置-->
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
    </Console>
    <!--不同等级的文件输出设置-->
    <RollingRandomAccessFile name="AllFile"
                             fileName="${sys:catalina.home}/${LOG_HOME}/${A_FILE_NAME}.log"
                             filePattern="${sys:catalina.home}/${LOG_HOME}/${A_FILE_NAME}/$${date:yyyy-MM}/${A_FILE_NAME}-%d{dd-HH-mm}-%i.log">
      <PatternLayout
              pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1440"/>
        <SizeBasedTriggeringPolicy size="10 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="DebugFile"
                             fileName="${sys:catalina.home}/${LOG_HOME}/${D_FILE_NAME}.log"
                             filePattern="${sys:catalina.home}/${LOG_HOME}/${D_FILE_NAME}/$${date:yyyy-MM}/${D_FILE_NAME}-%d{dd-HH-mm}-%i.log">
      <Filters>
        <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
        <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
      </Filters>
      <PatternLayout
              pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1440"/>
        <SizeBasedTriggeringPolicy size="10 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="ErrorFile"
                             fileName="${sys:catalina.home}/${LOG_HOME}/${E_FILE_NAME}.log"
                             filePattern="${sys:catalina.home}/${LOG_HOME}/${E_FILE_NAME}/$${date:yyyy-MM}/${E_FILE_NAME}-%d{dd-HH-mm}-%i.log">
      <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
      <PatternLayout
              pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1440"/>
        <SizeBasedTriggeringPolicy size="10 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="WarnFile"
                             fileName="${sys:catalina.home}/${LOG_HOME}/${W_FILE_NAME}.log"
                             filePattern="${sys:catalina.home}/${LOG_HOME}/${W_FILE_NAME}/$${date:yyyy-MM}/${W_FILE_NAME}-%d{dd-HH-mm}-%i.log">
      <Filters>
        <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
        <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
      </Filters>
      <PatternLayout
              pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1440"/>
        <SizeBasedTriggeringPolicy size="10 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="InfoFile"
                             fileName="${sys:catalina.home}/${LOG_HOME}/${I_FILE_NAME}.log"
                             filePattern="${sys:catalina.home}/${LOG_HOME}/${I_FILE_NAME}/$${date:yyyy-MM}/${I_FILE_NAME}-%d{dd-HH-mm}-%i.log">
      <Filters>
        <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
        <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
      </Filters>
      <PatternLayout
              pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1440"/>
        <SizeBasedTriggeringPolicy size="10 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingRandomAccessFile>
  </Appenders>

  <Loggers>
    <Logger name="Common.Log" level="trace" additivity="false">
      <AppenderRef ref="Console"/>
      <AppenderRef ref="DebugFile"/>
      <AppenderRef ref="ErrorFile"/>
      <AppenderRef ref="WarnFile"/>
      <AppenderRef ref="InfoFile"/>
      <AppenderRef ref="AllFile"/>
    </Logger>

    <Root level="all">
      <AppenderRef ref="Console"/>
      <AppenderRef ref="DebugFile"/>
      <AppenderRef ref="ErrorFile"/>
      <AppenderRef ref="WarnFile"/>
      <AppenderRef ref="InfoFile"/>
      <AppenderRef ref="AllFile"/>
    </Root>
  </Loggers>
</Configuration> 

 

相关文章:

  • 一个用java的NIO实现的socket的客户端和服务端的demo
  • 使用java的nio的pipe实现两个线程间传送数据的demo
  • org.hibernate.TransactionException: nested transactions not supported异常
  • elasticsearch
  • rancher简介
  • InfluxDB+cAdvisor+Grafana容器管理
  • serviceComb[No schema defined for start.servicecomb.io:]异常
  • ServiceComb
  • kubernetes
  • 生产报redis连接满的问题
  • 一、Linux入门简述
  • 二、Linux入门之文件管理及相关命令
  • 3、Linux命令小例:用户权限管理、ls、cp、tr
  • 三、Linux入门之标准I/O重定向、管道、用户管理
  • 三、Linux入门之文件权限
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • cookie和session
  • C语言笔记(第一章:C语言编程)
  • Date型的使用
  • gf框架之分页模块(五) - 自定义分页
  • happypack两次报错的问题
  • HTML中设置input等文本框为不可操作
  • IDEA常用插件整理
  • input的行数自动增减
  • java概述
  • node学习系列之简单文件上传
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Vue--数据传输
  • zookeeper系列(七)实战分布式命名服务
  • 从PHP迁移至Golang - 基础篇
  • 基于游标的分页接口实现
  • 详解移动APP与web APP的区别
  • 阿里云ACE认证学习知识点梳理
  • 阿里云API、SDK和CLI应用实践方案
  • #13 yum、编译安装与sed命令的使用
  • $().each和$.each的区别
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • ${ }的特别功能
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (学习日记)2024.01.09
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .describe() python_Python-Win32com-Excel
  • .NET CLR基本术语
  • .NET 反射的使用
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用