Logging 停止WLP将System.out写入messages.log
我有一个WebSphere应用程序,它使用一些第三方库将HTTP通信写入Logging 停止WLP将System.out写入messages.log,logging,websphere,websphere-liberty,websphere-8,Logging,Websphere,Websphere Liberty,Websphere 8,我有一个WebSphere应用程序,它使用一些第三方库将HTTP通信写入System.out/PrintWriter。默认情况下,WLP会将这些消息写入messages.log文件。我想禁用此功能,因为HTTP流量中可能存在我不想记录的合理数据 我只看到console.log LogLevel的设置,但没有看到messages.log的设置。是否有办法设置此文件的日志级别或仅禁用它?无法将Liberty配置为不将System.out消息存储在messages.log文件中 我从你上面的评论中看到
System.out
/PrintWriter
。默认情况下,WLP会将这些消息写入messages.log文件。我想禁用此功能,因为HTTP流量中可能存在我不想记录的合理数据
我只看到console.log LogLevel的设置,但没有看到messages.log的设置。是否有办法设置此文件的日志级别或仅禁用它?无法将Liberty配置为不将System.out消息存储在messages.log文件中 我从你上面的评论中看到,你已经找到了这个特殊案例的解决方案。对于阅读本文的其他人来说,如果您真的陷入困境,您可以编写自己的PrintStream,并使用
System.setOut(PrintStream)
来过滤真正进入标准输出的内容。在委托给Liberty PrintStream之前,您的PrintStream可以在所有打印方法的开始处实现过滤器
PrintStream libertyPrintStream = System.out;
PrintStream myPrintStream = new MyPrintStream(libertyPrintStream);
System.setOut(myPrintStream);
您是否尝试将
元素添加到server.xml
?如果框架使用的是标准的JUL日志记录,那么您可能可以定义lit,比如com.your.third.party.packages.*=off
I刚刚通过更改引起问题的第三方库的日志记录配置解决了这个问题。但由于我认为这并不总是一个可行的解决方案,我将把这个问题留待讨论。