<?xml version="1.0" encoding="UTF-8"?> <Configuration monitorInterval="180" packages=""> <properties> <property name="prjname">${project.name}</property> <property name="logdir">logs</property> <property name="PATTERN">[${project.name}][${env:SERVER_PORT}] %date{YYYY-MM-dd HH:mm:ss,SSS} %level [%thread][%file:%line] - %msg%n%throwable </property> </properties> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="${PATTERN}"/> </Console> <RollingFile name="ErrorAppender" fileName="${logdir}/${prjname}_error.log" filePattern="${logdir}/$${date:yyyy-MM-dd}/${prjname}_error.%d{yyyy-MM-dd-HH}.log" append="true"> <PatternLayout pattern="${PATTERN}"/> <!-- 这个代表只输出errror级别的日志--> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> <Policies> <!-- 间隔多久重新生成日志文件 单位是上面yyy-mm-dd HH 最后一位那么久是小时为单位 如果在打印日志时返现这个日志文件距离上一次日志文件小大于一个小时那么久在成个--> <!-- 这个modelate是否以整点计算时间 true 表示是以整点计算--> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> </Policies> </RollingFile> <RollingFile name="DebugAppender" fileName="${logdir}/${prjname}_info.log" filePattern="${logdir}/$${date:yyyy-MM-dd}/${prjname}_info.%d{yyyy-MM-dd-HH}.log" append="true"> <PatternLayout pattern="${PATTERN}"/> <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> </Policies> </RollingFile> <!--异步appender 这个Appender是用于解决在某一时间里大量的日志信息进入Appender如何去处理的问题 用了生产消费的模型--> <Async name="AsyncAppender" includeLocation="true"> <AppenderRef ref="ErrorAppender"/> <AppenderRef ref="DebugAppender"/> </Async> </Appenders> <Loggers> <!--过滤掉spring和mybatis的一些无用的debug信息--> <logger name="org.springframework" level="INFO"> </logger> <logger name="org.mybatis" level="INFO"> </logger> <logger name="springfox" level="INFO"> </logger> <logger name="org.apache.http" level="INFO"> </logger> <logger name="com.netflix.discovery" level="INFO"> </logger> <!--OFF 0--> <!--FATAL 100--> <!--ERROR 200--> <!--WARN 300--> <!--INFO 400--> <!--DEBUG 500--> <!--TRACE 600--> <!--ALL Integer.MAX_VALUE--> <Root level="INFO" includeLocation="true"> <AppenderRef ref="AsyncAppender"/> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration>
log4j2
最新推荐文章于 2023-03-26 12:39:27 发布