SpringBoot学习笔记42——使用log4j2.xml配置日志文件的输出及保留
程序员文章站
2022-07-03 17:34:51
...
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO" monitorInterval="30">
<Properties>
<property name="ALL_LOG_FILE_NAME">
log/
</property>
<!-- 输出日志的格式 -->
<property name="PATTERN">[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%M-%t] [%-5level] %logger{36}:%L - %msg%n</property>
</Properties>
<Appenders>
<!--这个输出控制台的配置 -->
<Console name="Console" target="SYSTEM_OUT">
<!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${PATTERN}"/>
</Console>
<RollingFile name="RollingFileAll"
fileName="${ALL_LOG_FILE_NAME}/all.log"
filePattern="${ALL_LOG_FILE_NAME}/all-%d{yyyy-MM-dd}-%i.log">
<Filters>
<!--设置只输出级别为info的日志-->
<ThresholdFilter level="all"/>
</Filters>
<!--文件输出格式-->
<PatternLayout pattern="${PATTERN}"/>
<Policies>
<!--每天一个文件-->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<!--单个文件的大小-->
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<!--设置保留的文件数据-->
<DefaultRolloverStrategy max="12">
<!--删除的规则-->
<Delete basePath="${ALL_LOG_FILE_NAME}" maxDepth="2">
<!--保存文件名-->
<IfFileName glob="all-*.log"/>
<!--保留天数-->
<IfLastModified age="7d"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
<loggers>
<!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
<logger name="org.springframework" level="warn"/>
<logger name="org.mybatis" level="warn"/>
<logger name="org.apache.kafka" level="warn"/>
<root level="info">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFileAll"/>
</root>
</loggers>
</configuration>
上一篇: JS获取当前格式化日期
下一篇: 文件服务器minio