1. 需求: 按照业务主键划分日志分件,可以使用siftingAppender结合MDC 实现。
sysUUID // 代码使用使用MDC.put("sysUUID",value)即可
unknown
UTF-8
${log.base}/wtposp_${sysUUID}.log // 按天生成文件夹为实现(%d{yyyyMMdd}这样写不行。)
%date{HH:mm:ss} [%X{sysUUID}] %-5level %c{0}:%L - %msg%n
TRACE
DENY
ACCEPT
2. 需求: 项目中有多个定时任务,每10s 执行一次,如果和其他业务日志打印到同一个文件,会造成日志文件很乱,业务日志中插着定时日志,
日志不连贯,不易拍错,不易查看。于是想要把定时的相关日志打印到一个单独的文件,其他日志另外打印。
(1)最先想到的解决办法是运用 logger 属性 additivity=false ,可以让日志不再往下传递。
这种方式需要指定哪些包或文件 使用这个logger , 但是我项目的定时任务调用的方法和其他业务是同一个方法(比如查询,我定时要用,其他业务也用啊),
没法区分开。
(2)使用一个标记,不如定时的日志内容都以 "JOB-" 开头,我想办法过滤下,使用appender 的 filter . 符合条件就打印,不符合就忽略或拒绝。
需要定义两个appender ,一个只接受JOB- 内容开头的日志。 另一个不接受JOB- 内容开头的日志。
知识点:一个app