OpenLiberty - 如何将应用程序日志与服务器日志分开并设置正确的日志级别

问题描述 投票:0回答:0

我使用带 Logback 的 SLF4J 来记录部署在 OpenLiberty 上的应用程序中的事件。当前日志输出:

[INFO] [07/05/2023 00:07:53:743 CEST] 0000005a SystemOut     O   [ERROR] o.p.c.p.c.TextArrayConverter - ...

因此,所有日志都显示在 INFO 级别:

[INFO] [07/05/2023 00:36:53:483 CEST] 000000ab SystemOut     O   [ERROR] ...
[INFO] [07/05/2023 00:36:53:483 CEST] 000000ab SystemOut     O   [INFO] ...
[INFO] [07/05/2023 00:37:53:487 CEST] 000000ab SystemOut     O   [INFO] ...

但是,我希望输出看起来像这样:

[ERROR] o.p.c.p.c.TextArrayConverter - ...

我应该使用哪种配置来获得所需的输出?或者至少在服务器日志中显示正确的严重性?

我在 server.xml 中没有日志配置。

bootstrap.properties

com.ibm.ws.logging.stackTraceSingleEntry=true
com.ibm.ws.logging.message.log.level=OFF
com.ibm.ws.logging.message.format=json
com.ibm.ws.logging.message.source=
com.ibm.ws.logging.trace.log.level=OFF
com.ibm.ws.logging.console.format=TBASIC
com.ibm.ws.logging.console.log.level=INFO

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <Pattern>
        [%level] %C{1} - %msg%n
      </Pattern>
    </encoder>
  </appender>

  <root level="info">
    <appender-ref ref="CONSOLE"/>
  </root>
</configuration>

我尝试了不同的引导程序配置,但没有任何效果。例如,我尝试通过添加到 bootstrap.properties 文件以 JSON 格式输出日志:

com.ibm.ws.logging.apps.write.json=true
com.ibm.ws.logging.console.format=JSON

输出是:

{"message":"[ERROR] o.p.c.p.c.TextArrayConverter - ...","level":"SystemOut",...}

级别设置不正确。

java logging configuration open-liberty
© www.soinside.com 2019 - 2024. All rights reserved.