我无法控制 Websphere Liberty Profile 服务器中代码的日志记录级别。我已将服务器上的 server.xml 配置为不记录 hibernate 和 spring,因为我的日志将被这两个框架的活动淹没。我通常使用 log4j 来执行此操作,它在独立的 WAS 中运行良好。
<logging consoleLogLevel="INFO" copySystemStreams="true" traceFormat="ENHANCED" traceSpecification="org.springframework.*=off:com.ibm.ws.*=off:org.hibernate*=off"/>
在 Liberty 中,这不起作用。当 liberty 更新配置时(当我保存 server.xml 和更改时),我得到以下日志:
[INFO ] TRAS0040I:配置的跟踪状态包括与当前在服务器中注册的任何记录器都不匹配的以下规范:org.hibernate*=off:org.springframework.*=off
基本上这条消息适用于我的任何代码和任何第三方代码(Spring、Hibernate 等)。但是,对于 IBM 类,traceSpecification 级别可以正常工作,并且我可以指定 *=off,这有效地关闭了所有日志记录。
有没有人经历过这个?IBM 的 TRAS0040I 文档似乎很简单,但我似乎无法弄清楚为什么我的记录器没有在服务器上注册。