2017-04-07 56 views
1

首先必須說,我無法將log4j.properties更改爲log4j.xml,或者由於某些原因,我無法將log4j版本1.x更改爲2.x。我需要忽略fileAppender的三個異常,我用stringfilter做了兩個異常,但它不起作用。我的異常和屬性文件是:在Log4J上過濾異常1.X

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

如果你不能改變你的log4j配置,我認爲這將是困難的。

你可以看到問題log4j StringToMatch in property file

屬性文件不支持過濾器的答案。您將不得不切換到XML配置。

但檢查的Log4j版本,有時它的工作原理:

見的答案評論https://stackoverflow.com/a/3960938/1811730

[編輯]

對不起,我沒看過這個問題正確:-(

也許問題是%20 你有沒有試過:log4j.appender.consoleAppender.filter.3.stringToMatch=Room is full

+0

FORCE_UPDATE和REGULAR_UPDATE。它的工作原理,但當我嘗試過濾房間是完整的它不工作。 –

+0

對不起,我沒有正確閱讀這個問題,看到我的編輯... – dams