Log4j -在Groovy中向追加器添加过滤器

8fq7wneg  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(181)

到目前为止,我还没有任何相关的groovy经验,现在我只想从我的grails应用程序中将一些消息记录到一个文件中。
现在我想做的是过滤消息,只记录那些匹配正则表达式的消息。我想我应该使用正则表达式过滤器,但我无法将过滤器添加到提到的附加器中。
我现在拥有的

log4j = {
        appenders {
            console....
            file name: 'file', file: '*.log', layout: pattern(conversionPattern: "..."), filter: 
                regexFilter(pattern: "...", onMatch: "ACCEPT", onMismatch: "DENY")
        }
    }
v440hwme

v440hwme1#

所以我尝试了达格特的建议,但没有成功。
经过几次(很多)尝试,我终于想出了一个可行的解决方案,所以如果有人感兴趣,这对我来说是可行的:

Logger.rootLogger.allAppenders.find{it instanceof FileAppender}?.addFilter({event -> event.getMessage().matches(***) ? Filter.ACCEPT : Filter.DENY} as Filter)

只需将其放入Config.groovy文件中即可。

相关问题