如何将不同的业务模块的日志打印到不同的日志文件
目前部门框架里的log4j2的配置是按服务来划分的。一个服务的日志全部打印到一个日志文件中了,一些定时任务生成的日志和业务日志以及提供的其他系统接口的日志全部混在同一个日志文件中,查找起来比较麻烦。我们可以根据配置把不同业务模块的日志区分开,打印到不同的日志文件中。
案例:如何把定时任务的日志和业务日志区分开
情景一、如果定时任务的日志全部全在一个包下,我们就把这个包下的所有的日志打印在一个文件里就解决了,log4j2.xml配置如下
<Appenders>
<RollingRandomAccessFile name="file"
fileName="${LOG_HOME}/${LOG_FILE_NAME}.log"
filePattern="${LOG_HOME}/${LOG_FILE_NAME}.%d{yyyy-MM-dd-HH}-%i.log.bak"
immediateFlush="false" append="true">
<ThreadContextMapFilter onMatch="DENY" onMismatch="ACCEPT">
<KeyValuePair key="ROUTINGKEY" value="timer" />
</ThreadContextMapFilter>
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} | %-5p | ${APPLICATION} | ${sys:local-env} | ${sys:local-ip} | trice_id:[%X{trice_id}] | req_ip:[%X{request_ip}] |req_url:[%X{request_url}] | method:[%X{request_method}] | userId:[%X{user_id}] |reserve0:%X{reserve0}|reserve1:%X{reserve1}|reserve2:%X{reserve2}| %t | %l %m%n"/>
<!--文件滚动策略 满足一个即触发-->
<Policies>
<TimeBasedTriggeringPolicy modulate=