【问题标题】:Controlling stderr and stdout output in WildFly在 WildFly 中控制 stderr 和 stdout 输出
【发布时间】:2015-03-05 13:16:15
【问题描述】:

在我的应用程序中,我习惯了以下调试输出:通常它会向 stderr 的每个请求打印几行,但会将大量信息(通过 log4j)记录到文件中。通常,对我来说最重要的是 stderr 输出(这就是我希望它简洁的原因),但是当某些事情没有按预期工作时,我可以调查日志,每个请求很容易有数千行。

现在我正在将应用程序迁移到 WildFly,我发现服务器通过其日志记录系统管道传输所有 stderr 输出,所以它看起来像这样:

14:06:15,464 ERROR [stderr] (default task-13) ACTUAL-DEBUG-OUTPUT

并且另外被着色为错误。此外,stdout 输出似乎被重定向到 /dev/null...

我能否以某种方式将 WildFly 配置为让 stderr 输出按原样通过,而不添加(对我而言)无用的噪音和着色?如果可能的话,我想对标准输出做同样的事情。

【问题讨论】:

    标签: logging stderr wildfly-8


    【解决方案1】:

    好的,通过谷歌搜索和黑客攻击,我得到了我想要的:

    /subsystem=logging/console-handler=JUST-PRINT:add(formatter="%s%E%n")
    /subsystem=logging/logger=stderr:add(use-parent-handlers="false", handlers=[JUST-PRINT])
    /subsystem=logging/logger=stdout:add(use-parent-handlers="false", handlers=[JUST-PRINT])
    

    【讨论】:

    • 它真的从您的日志系统中删除了标准错误消息吗?我也想做同样的事情,但我使用的是 Thorntail(用于微服务的 Wildfly)。您如何设置 Thorntail 的 yaml 配置文件以使其工作?