Wildfly 10 中的过滤器规范

filter-spec in wildfly 10

要求:

         To filter error message/exception into another log named errorlog.log other than server.log

配置:

<periodic-rotating-file-handler name="errorjohn">
        <level name="ERROR"/>
<filter-spec value="match(&quot;UT005023:*&quot;)"/> 
        <formatter>
            <named-formatter name="PATTERN"/>
        </formatter>
        <file relative-to="jboss.server.log.dir" path="errorlog.log"/>
        <suffix value=".yyyy-MM-dd"/>
    </periodic-rotating-file-handler>
<logger category="errortest" use-parent-handlers="false">
            <level name="ERROR"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="errorjohn"/>
            </handlers>
        </logger>

服务器日志中的错误:

17:23:45,696 错误 [io.undertow.request](默认任务 4)UT005023:异常 ha 处理对 /Testsporacle/testing 的请求:java.lang.NoSuchMethodError:com.nfr.sv

没有以 UT005023 开头的错误:已登录 errorlog.log。 使用的应用服务器:wildfly 10.0

我怀疑问题可能出在表达式中。我相信这是一个标准的 Java 正则表达式,这意味着它应该以 .* 而不是 *.

结尾

更改子系统中的类别记录文件。

<logger category="io.undertow.request" use-parent-handlers="false">
        <level name="ERROR"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="errorjohn"/>
        </handlers>
    </logger>