背景
- 有一个系统是负责从消息队列收集日志的,现在系统收集到的日志能和这个系统本身的日志分开
- 使用log4j2
<!--log4j2依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<!-- Log4j2 异步支持 -->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.3.6</version>
</dependency>
解决方案
给我们需要的日志时间给一个特定的标记(Marker),然后使用MarkerFilter来区分收集的日志与系统本身的日志
代码
log4j2.xml配置示例
<?xml version="1.0" encoding="UTF-8"?>
<!-- Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,
你会看到log4j2内部各种详细输出。可以设置成OFF(关闭)或Error(只输出错误信息)
-->
<Configuration status="error" monitorInterval="60">
<!-- 日志文件目录和压缩文件目录配置 -->
<Properties>
<Property name="level">debug</Property>
<Property name="fileName"><