具有log4j 2 xml配置的java应用程序中存在以下项目结构。
com.应用程序包.one
- class1.java
- class2.java
- class3.java
- class4.java
com.应用程序包.两个 - class5.java
- class6.java
- class7.java
- class8.java
整个应用程序在以下情况下打印记录器所有三个条件都要匹配
condition 1-〉打印所有类的错误模式记录器
condition 2-〉如果日志记录语句的一部分有“异常”,则打印
condition 3-〉对于程序包2的类7,如果日志语句包含异常或某些文本,则需要显示排除
我添加了以下log4j 2xml配置,它满足条件1和条件2,但在相同的配置中无法实现条件3。
条件1和2的工作配置
<Logger name="com.app.package" level="error">
<RegexFilter regex=".*(?i)exception(?-i).*" onMatch="ACCEPT" onMismatch="DENY"/>
</Logger>
条件3不工作
<Logger name="com.app.package" level="error">
<RegexFilter regex=".*(?i)exception(?-i).*" onMatch="ACCEPT" onMismatch="DENY"/>
</Logger>
<Logger name="com.app.package.two.class7" level="error">
<RegexFilter regex=".*(?i)exception(?-i).* | .*(?i)sometext(?-i).*" onMatch="ACCEPT" onMismatch="DENY"/>
</Logger>
是否可以同时对同一个类进行包级过滤和类级过滤?
在此输入任何内容都将非常有用,
提前感谢...:-)
1条答案
按热度按时间uelo1irk1#
对于条件3
日志配置有两个问题
1)要添加的附加器信息
2)正则表达式前后空格的管道|符号化
在所有条件下工作的更改配置如下所示