给我一个详细的log4j2配置文件
时间: 2024-05-07 12:15:16 浏览: 82
以下是一个详细的log4j2配置文件示例:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}.log.gz">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<SizeBasedTriggeringPolicy size="10MB" />
</Policies>
<DefaultRolloverStrategy max="10" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>
```
该配置文件定义了两个Appenders(Console和RollingFile)以及一个Root Logger。Console Appender将日志输出到控制台,RollingFile Appender将日志输出到一个滚动的日志文件。RollingFile Appender使用了时间和大小两种触发策略,每天生成一个新的日志文件,并且日志文件最多保留10个。
Root Logger的日志级别为INFO,表示只输出INFO级别及以上的日志。Root Logger将日志输出到Console和RollingFile Appender中。
该配置文件的语法是基于XML的,其中Configuration元素是配置文件的根元素,定义了配置文件的一些全局属性,如status属性表示日志输出级别(DEBUG、INFO、WARN、ERROR)。Appenders元素定义了所有Appender,Loggers元素定义了所有Logger。每个Logger可以引用一个或多个Appender,以将日志输出到指定的位置。
阅读全文