过滤Log4J 1.X上的异常

时间:2017-04-07 09:26:31

标签: java filter log4j

首先必须说,我无法将log4j.properties更改为log4j.xml,或者由于某些原因我无法将我的log4j版本1.x更改为2.x.我需要忽略fileAppender的三个例外我用stringfilter做了两个例外但它不能用于第三个例外。我的例外和属性文件是:

07 Apr 2017 | 11:45:26,499 | ERROR | SFSWorker:Ext:1 | Extensions |     | EXCEPTION
com.smartfoxserver.v2.exceptions.SFSJoinRoomException: Join Error - Room is full: 19, Zone: { Zone: Batak } - Can't add User: ( User Name: d354e22339937548abb52ec442eb4eb4, Id: 3, Priv: 0, Sess: 88.253.243.151:33453 )  
at com.smartfoxserver.v2.api.SFSApi.joinRoom(SFSApi.java:990)

我的财产是:

log4j.appender.fileAppender.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.fileAppender.filter.1.stringToMatch=FORCE_UPDATE
log4j.appender.fileAppender.filter.1.acceptOnMatch=false
log4j.appender.fileAppender.filter.2=org.apache.log4j.varia.StringMatchFilter
log4j.appender.fileAppender.filter.2.stringToMatch=REGULAR_UPDATE
log4j.appender.fileAppender.filter.2.acceptOnMatch=false log4j.appender.consoleAppender.filter.3=org.apache.log4j.varia.StringMatchFilter
log4j.appender.consoleAppender.filter.3.stringToMatch=Room%20is%20full
log4j.appender.consoleAppender.filter.3.acceptOnMatch=false

我不希望在fileAppender上看到包含“房间已满”的异常。我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果您无法更改log4j的配置,我认为这将很困难。

您可以看到问题log4j StringToMatch in property file

的答案
  

属性文件不支持过滤器。您必须切换到XML配置。

但是检查Log4j版本有时会起作用:

请参阅评论https://stackoverflow.com/a/3960938/1811730

[编辑]

抱歉,我没有正确阅读问题: - (

问题可能是%20 你有没有尝试过:log4j.appender.consoleAppender.filter.3.stringToMatch=Room is full