我使用带 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",...}
级别设置不正确。