在使用Jetty的Websocket客户端实现并创建WebSocketClient实例时,日志记录将这样写入stdout:
2018-08-22 22:30:34.720:INFO :: main:将初始化@ 26651ms记录到org.eclipse.jetty.util.log.StdErrLog
这种情况一经发生就会发生:
WebSocketClient client = new WebSocketClient();
我尝试将jetty-logging.properties文件作为资源包的一部分包含,但日志级别已关闭,但这是行不通的:
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StrErrLog
org.eclipse.jetty.LEVEL=OFF
org.eclipse.jetty.websocket.LEVEL=OFF
如何抑制这种情况?
谢谢
Tobias
答案 0 :(得分:2)
我设法通过调试器进入WebSocketClient()直到消息打印到stdout为止。
要禁用此日志记录公告,请设置系统属性。
System.setProperty("org.eclipse.jetty.util.log.announce", "false");
我希望Jetty documentation拥有它所认可的特性的概述。
答案 1 :(得分:0)
已通过Jetty 9.4.x验证:将org.eclipse.jetty.util.log.announce=false
添加到您的类路径中:
/simplelogger.properties
因为我使用的是slf4j-simple,也使用org.slf4j.simpleLogger.defaultLogLevel=warn
:
change-commit
出于明显的原因,在代码内设置系统属性很麻烦。 (https://javagc.leponceau.org/2019/02/how-to-suppress-embedded-jetty-logging.html)