【问题标题】:stop wildfly sending console output to server logs停止 wildfly 将控制台输出发送到服务器日志
【发布时间】:2018-02-05 15:40:13
【问题描述】:

我正在使用wildfly 10,并且控制台中出现的所有内容(例如 System.out.println("") 输出)都被写入server.log 文件。 我只想在server.log 文件中看到log4j 的日志,那么如何停止将控制台输出发送到server.log

【问题讨论】:

  • “只有 log4j”是什么意思?
  • 假设我的应用程序代码具有以下语句:logger.error("some error") 和 System.out.println("something") (在我的情况下,stdout 是控制台,因此将打印在安慰)。在我的 server.log 中,我看到两个输出不仅是记录器的日志,因为 Wildfly 以某种方式将所有控制台输出发送到他的 server.log。我不希望第二条语句的输出出现在 server.log 中。

标签: logging log4j wildfly


【解决方案1】:

您可以将stdout 记录器设置为WARN

<logger category="stdout">
    <level name="WARN"/>
</logger>

这将阻止System.out.println(...) 出现在您的server.log 中。但它也不会出现在控制台上,因为 Wildfly 将 System.out PrintStream 替换为它自己的实现(参见 here),因此您只能为所有处理程序禁止它或为所有处理程序激活它。

【讨论】:

  • 您也可以只更改 use-parent-handlers=false 并将 stdout 记录器分配给控制台处理程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 2020-07-10
  • 2011-06-05
  • 1970-01-01
  • 2018-02-09
  • 2020-03-19
相关资源
最近更新 更多