当前位置 博文首页 > 时光下的旅途:JAVA log4j2日志配置文件

    时光下的旅途:JAVA log4j2日志配置文件

    作者:[db:作者] 时间:2021-08-27 13:02

    log4j2日志配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    
    <configuration status="WARN">
    ? ? <properties>
    ? ? ? ? <property name="LOG_HOME">logs</property>
    ? ? ? ? <property name="FILE_NAME">API</property>
    ? ? </properties>
    
    ? ? <!-- ${sys:catalina.home}指当前tomcat根目录 -->
    
    ? ? <appenders>
    ? ? ? ? <!-- 日志输出到控制台 -->
    ? ? ? ? <Console name="Console" target="SYSTEM_OUT">
    ? ? ? ? ? ? <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
    ? ? ? ? ? ? <!--level:TRACE < DEBUG < INFO < WARN < ERROR < FATAL-->
    ? ? ? ? ? ? <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
    ? ? ? ? ? ? <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} [%t] %-5level %logger{36} - %msg%n"/>
    ? ? ? ? </Console>
    
    ? ? ? ? <!--
    ? ? ? ? ? ? 循环日志文件:日志文件大于阀值的时候,就开始写一个新的日志文件
    ? ? ? ? ? ? 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档
    
    ? ? ? ? ? ? fileName ? ?: 指定当前日志文件的位置和文件名称
    ? ? ? ? ? ? filePattern : 指定当发生Rolling时,文件的转移和重命名规则
    ? ? ? ? ? ? SizeBasedTriggeringPolicy : 指定当文件体积大于size指定的值时,触发Rolling
    ? ? ? ? ? ? DefaultRolloverStrategy : 指定每天最多保存的文件个数,默认为7
    ? ? ? ? ? ? TimeBasedTriggeringPolicy : 这个配置需要和filePattern结合使用
    ? ? ? ? ? ? ? ? 注意filePattern中配置的文件重命名规则是${FILE_NAME}_%d{yyyy-MM-dd}_%i,最小的时间粒度是dd,即天,
    ? ? ? ? ? ? ? ? TimeBasedTriggeringPolicy指定的size是1,结合起来就是每1天生成一个新文件
    ? ? ? ? ? ? onMatch/onMismatch:
    ? ? ? ? ? ? ? ? ACCEPT:接受匹配,DENY:禁止匹配,NEUTRAL:不做处理,让后续代码做处理。
    ? ? ? ? -->
    
    ? ? ? ? <!-- 输入INFO级别的日志到文件 -->
    ? ? ? ? <RollingRandomAccessFile name="INFO" fileName="${sys:catalina.home}/logs/${FILE_NAME}-info.log" filePattern="${sys:catalina.home}/log/${FILE_NAME}-info_%d{yyyy-MM-dd}_%i.log.gz">
    ? ? ? ? ? ? <Filters>
    ? ? ? ? ? ? ? ? <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
    ? ? ? ? ? ? ? ? <ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/>
    ? ? ? ? ? ? </Filters>
    ? ? ? ? ? ? <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36} %L %M - %msg%xEx%n"/>
    ? ? ? ? ? ? <Policies>
    ? ? ? ? ? ? ? ? <TimeBasedTriggeringPolicy interval="1"/>
    ? ? ? ? ? ? ? ? <SizeBasedTriggeringPolicy size="100MB"/>
    ? ? ? ? ? ? </Policies>
    ? ? ? ? ? ? <!-- 每天最大允许存在压缩的文件数,超过了这个数量,前面的文件会自己清除,如果不写,默认数为7 -->
    ? ? ? ? ? ? <DefaultRolloverStrategy max="100"/>
    ? ? ? ? </RollingRandomAccessFile>
    
    ? ? ? ? <!--输入ERROR级别的日志到文件-->
    ? ? ? ? <RollingRandomAccessFile name="ERROR" fileName="${sys:catalina.home}/logs/${FILE_NAME}-error.log" filePattern="${sys:catalina.home}/log/${FILE_NAME}-error_%d{yyyy-MM-dd}_%i.log.gz">
    ? ? ? ? ? ? <Filters>
    ? ? ? ? ? ? ? ? <ThresholdFilter level="FATAL" onMatch="DENY" onMismatch="NEUTRAL"/>
    ? ? ? ? ? ? ? ? <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
    ? ? ? ? ? ? </Filters>
    ? ? ? ? ? ? <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36} %L %M - %msg%xEx%n"/>
    ? ? ? ? ? ? <Policies>
    ? ? ? ? ? ? ? ? <TimeBasedTriggeringPolicy interval="1"/>
    ? ? ? ? ? ? ? ? <SizeBasedTriggeringPolicy size="100MB"/>
    ? ? ? ? ? ? </Policies>
    ? ? ? ? ? ? <DefaultRolloverStrategy max="100"/>
    ? ? ? ? </RollingRandomAccessFile>
    
    ? ? ? ? <!--输入FATAL级别的日志到文件-->
    ? ? ? ? <RollingRandomAccessFile name="FATAL" fileName="${sys:catalina.home}/logs/${FILE_NAME}-fatal.log" filePattern="${sys:catalina.home}/log/${FILE_NAME}-fatal_%d{yyyy-MM-dd}_%i.log.gz">
    ? ? ? ? ? ? <Filters>
    ? ? ? ? ? ? ? ? <ThresholdFilter level="FATAL" onMatch="ACCEPT" onMismatch="DENY"/>
    ? ? ? ? ? ? </Filters>
    ? ? ? ? ? ? <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36} %L %M - %msg%xEx%n"/>
    ? ? ? ? ? ? <Policies>
    ? ? ? ? ? ? ? ? <TimeBasedTriggeringPolicy interval="1"/>
    ? ? ? ? ? ? ? ? <SizeBasedTriggeringPolicy size="100MB"/>
    ? ? ? ? ? ? </Policies>
    ? ? ? ? ? ? <DefaultRolloverStrategy max="100"/>
    ? ? ? ? </RollingRandomAccessFile>
    
    ? ? ? ? <RollingRandomAccessFile name="REQS" fileName="${sys:catalina.home}/logs/${FILE_NAME}-reqs.log" filePattern="${sys:catalina.home}/log/${FILE_NAME}-reqs_%d{yyyy-MM-dd}_%i.log.gz">
    ? ? ? ? ? ? <Filters>
    ? ? ? ? ? ? ? ? <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
    ? ? ? ? ? ? </Filters>
    ? ? ? ? ? ? <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36} %L %M - %msg%xEx%n"/>
    ? ? ? ? ? ? <Policies>
    ? ? ? ? ? ? ? ? <TimeBasedTriggeringPolicy interval="1"/>
    ? ? ? ? ? ? ? ? <SizeBasedTriggeringPolicy size="100MB"/>
    ? ? ? ? ? ? </Policies>
    ? ? ? ? ? ? <!-- 每天最大允许存在压缩的文件数,超过了这个数量,前面的文件会自己清除,如果不写,默认数为7 -->
    ? ? ? ? ? ? <DefaultRolloverStrategy max="100"/>
    ? ? ? ? </RollingRandomAccessFile>
    
    ? ? </appenders>
    ? ? <loggers>
    ? ? ? ? <logger name="com.iotlead.hardware.api.business.impls.ApiLogService" additivity="false">
    ? ? ? ? ? ? <priority value ="info"/>
    ? ? ? ? ? ? <appender-ref ref="Console" />
    ? ? ? ? ? ? <appender-ref ref="REQS" />
    ? ? ? ? </logger>
    
    ? ? ? ? <!--日志等级,部署时一定要改成ERROR ?等级:TRACE < DEBUG < INFO < WARN < ERROR < FATAL-->
    ? ? ? ? <root level="DEBUG">
    ? ? ? ? ? ? <!-- 输入日志到控制台 -->
    ? ? ? ? ? ? <appender-ref ref="Console"/>
    
    ? ? ? ? ? ? <!-- 输入日志到文件 -->
    ? ? ? ? ? ? <!--<appender-ref ref="INFO"/>-->
    
    ? ? ? ? ? ? <!-- 输入错误日志到文件 -->
    ? ? ? ? ? ? <!--<appender-ref ref="ERROR"/>-->
    
    ? ? ? ? ? ? <!-- 输入系统错误日志到文件 -->
    ? ? ? ? ? ? <!--<appender-ref ref="FATAL"/>-->
    ? ? ? ? </root>
    ? ? </loggers>
    </configuration>
    cs