spring-boot — 指定类日志单独输出到某一个日志文件中

背景

之前有个需求,项目中部分功能需要与外部系统对接,为了方便查询日志,故需要将这部分的日志单独输出一个文件中。

实现

step1: 日志文件修改

<appender name="fileAppender"
	class="ch.qos.logback.core.rolling.RollingFileAppender">
	<file>${log.dir}/${projectname}-erp.log</file>
	<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>INFO</level>
	</filter>
	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
		<fileNamePattern>${log.dir}/${projectname}-%d{yyyy-MM-dd}_info_erp.log
		</fileNamePattern>
		<maxHistory>30</maxHistory>
	</rollingPolicy>
	<encoder charset="UTF-8">
	    <pattern>%d^|^%X{request_id}^|^%p^|^%c^|^%F:%L^|^%msg^|^%n
	    </pattern>
	</encoder>
</appender>


<!--若是additivity设为false,则子Logger只会在自己的appender里输出,不会在root的logger的appender里输出-->
<!--若是additivity设为true,则子Logger不止会在自己的appender里输出,还会在root的logger的appender里输出-->
<logger name="mngLog" level="info" additivity="false">
		<appender-ref ref="fileAppender" />
</logger>

step2:指定类修改

private static final Logger log = LoggerFactory.getLogger("mngLog");

你可能感兴趣的:(spring,boot,log4j2)