【问题标题】:Filtering Exceptions On Log4J 1.X在 Log4J 1.X 上过滤异常
【发布时间】:2017-04-12 20:12:43
【问题描述】:

首先必须说,由于某些原因,我无法将 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 上看到包含“房间已满”的异常。我该怎么做?

【问题讨论】:

    标签: java filter log4j


    【解决方案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

    【讨论】:

    • 对于 FORCE_UPDATE 和 REGULAR_UPDATE。它可以工作,但是当我尝试过滤房间已满时,它不起作用。
    猜你喜欢
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    相关资源
    最近更新 更多