gpt4 book ai didi

java - 如何不从 Java 应用程序输出到 stderr?

转载 作者:行者123 更新时间:2023-11-30 08:01:27 25 4
gpt4 key购买 nike

我如何可能意外地从 Java 应用程序输出到 stderr?我刚刚读过这个:

http://tutorials.jenkov.com/java-io/system-in-out-error.html

这似乎输出到标准输出:

System.out.println("File opened...");

并将其发送到 stderr:

System.err.println("File opening failed:");

我从来没有故意输出到System.err,但我想知道Java中的某些函数是否会自动执行此操作?也许当抛出异常时?

我这样做是因为我设置了 Supervisord 来启动和监视我的 Java 应用程序,并且我的应用程序发出一些启动消息,Supervisord 将一些消息记录到 stdout 日志,但将其他消息记录到 stderr 日志。我想知道如何才能控制它。 stderr 中的大部分内容都是我希望应用程序发出的启动消息。它们应该位于标准输出日志中。

我最初将这个问题发布到 StackOverflow,最初将其表述为有关日志的问题,所以我被告知它必须转到 ServerFault。所以我将其重新发布到ServerFault,但没有得到任何回复,主要是因为我认为这确实是一个应用程序问题。您可以在此处查看有关 ServerFault 的问题:

https://serverfault.com/questions/711199/how-would-i-tell-supervisord-that-these-messages-dont-belong-in-stderr

最佳答案

您可以使用:http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#setErr%28java.io.PrintStream%29

只需制作一些模拟类,它除了遵守 PrintStream 接口(interface)之外什么都不做,就可以开始了。

关于java - 如何不从 Java 应用程序输出到 stderr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31860460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com