前两天系统要求业务逻辑日志和数据库sql日志分开打印。
项目日志用的log4j2,架构为SSM架构,代码结构遵循MVC模式即每个业务模块都有单独的包结构,每个业务包下都有serivce、dao等包结构,要单独打印sql日志就要筛选出每个业务包结构下的dao包里的日志,但糟糕的是log4j2没有通配符,包路径不能
com.**.dao.**
这样写,所以需要用到自定义过滤器实现日志过滤,下面是我增加的log4j2配置。
话不多说,上代码:
1.log4j2.xml配置
<?xml version="1.0" encoding="UTF-8"?>
注意加上下方包扫描路径为自定义filter所在包路径
<configuration status="WARN" monitorInterval="30" packages ="com.aaa.bbb.core.log4j2.filter">
<Properties>
<!-- 配置日志文件输出目录,此配置将日志输出到tomcat根目录下的指定文件夹 -->
<Property name="LOG_HOME">${sys:catalina.home}/logs</Property>
<property name="pattern">%d{yyyy/MM/dd HH:mm:ss.SSS} [%p] %t %c %m%n</property>
</Properties>
<append
版权声明:本文为qq_28938475原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。