如何将信息日志和错误日志记录到 WILD FLY 服务器中的不同文件中?

how to log info logs and error logs into different files in WILD FLY server?

我在 standalone.xml 文件中做了如下更改:

 <periodic-rotating-file-handler name="MYLOG" autoflush="true" enabled="true">
    <level name="ERROR"/>
    <formatter>
        <named-formatter name="json"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="my_error.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.abc.api" use-parent-handlers="false">
    <level name="ERROR"/>
    <handlers>
      <handler name="MYLOG"/>
    </handlers>
</logger>

但是此处理程序在 my_error.log 中打印 com.abc.api 的错误日志 package.I 还想在 my_info.log 文件中打印 com.abc.api 包的信息日志。

有人可以帮忙吗。

您可以在处理程序上使用 levels 过滤器来过滤您希望在处理程序中看到的日志消息。您可以使用以下 CLI 命令配置日志记录:

/subsystem=logging/periodic-rotating-file-handler=info-handler:add(named-formatter=json, file={relative-to=jboss.server.log.dir, path=info.log}, level=INFO, filter-spec=levels(INFO), suffix=".yyyy-MM-dd")
/subsystem=logging/periodic-rotating-file-handler=error-handler:add(named-formatter=json, file={relative-to=jboss.server.log.dir, path=error.log}, level=ERROR, suffix=".yyyy-MM-dd")
/subsystem=logging/logger=com.abc.api:add(handlers=[info-handler, error-handler])

注意我没有添加 use-parent-handlers=false。这允许消息仍然记录到 server.log 以备不时之需。