Конфигурация Log4j: ConsoleAppender to System.err? - PullRequest
3 голосов
/ 01 апреля 2010

Я видел, что один из наших инструментов использует ConsoleAppender для System.err рядом с System.out в его конфигурации log4j. Фрагменты конфигурации:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <!-- Log to STDOUT. -->
        <param name="Target" value="System.out"/>

....

<appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
            <!-- Log to STDERR. -->
    <param name="Target" value="System.err"/>

В Eclipse это приводит к двойным сообщениям на консоль, так что я считаю, что это бесполезно, верно? На сервере Linux я вижу только одно сообщение для консоли PuTTY, так куда же будет отправлено это сообщение System.err?

1 Ответ

2 голосов
/ 01 апреля 2010

Может использоваться в зависимости от того, как перенаправляются стандартные и выходные данные ошибок. Часто стандартный вывод приглушается (например, перенаправляется на / dev / null), поэтому вывод ошибок является единственным способом фактически отображать сообщения об ошибках.

Я подозреваю, что на самом деле это делает PuTTY - было бы очень необычно отключить звук stderr, но не stdout. Я полагаю, что для вашего CONSOLE_ERR установлено значение ERROR или WARN. В этом случае вы можете проверить с помощью PuTTY, отображаются ли только сообщения об ошибках или все из них, чтобы решить, какой вывод приложения действительно отображается.

...