Log4j2 的分模块/分包日志输出
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
log4j2日志级别:
配置文件结构:
Appdenders部分
Filter
Layout
Policies
Strategy
Appender
Loggers部分
Logger
RootLogger
这里就要了解一下log4j的主要配置属性了,这里我们主要用到的是RollingRandomAccessFile属性
name:Appender名称
immediateFlush:log4j2接收到日志事件时,是否立即将日志刷到磁盘。默认为true。
fileName:日志存储路径
filePattern:历史日志封存路径。其中%d{yyyyMMddHH}表示了封存历史日志的时间单位(目前单位为小时,yyyy表示年,MM表示月,dd表示天,HH表示小时,mm表示分钟,ss表示秒,SS表示毫秒)。注意后缀,log4j2自动识别zip等后缀,表示历史日志需要压缩。
示例:
<RollingRandomAccessFile name="ceshi" immediateFlush="false" fileName="${sys:catalina.base}/logs/ceshi.log"
filePattern="${sys:catalina.base}/logs/ceshi.log.%d{yyyy-MM-dd}" >
<PatternLayout pattern="${pattern}" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
</Policies>
</RollingRandomAccessFile>
loggers属性的配置
appender-ref标签:指定适配器名称
示例:
<logger name="com.seven7.ceshi" level="info" additivity="false">
<appender-ref ref="ceshi" />
</logger>
欢迎分享关注