System.out.print () не работает, log4j по-прежнему работает хорошо - PullRequest
0 голосов
/ 21 ноября 2018

Может кто-нибудь объяснить для моего вопроса, как показано ниже.

  1. Мое веб-приложение java использует библиотеку org.apache.log4j.Logger.
  2. Я поставил команду вроде: log.info («это вывод log4j»)
  3. Я поставил другую команду, например System.out.println («Это система вышла»)
  4. Хорошо, я развернул веб-приложение на сервере tomcat.

Теперь я отслеживаю журнал в catalina.out. Мой вопрос:

Во время работы приложения отображается «это вывод log4j», а «Это вывод системы» не отображается.

Это конфигурация log4j:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
    xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" 
          value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="console" />
    </root>

</log4j:configuration>

Я думаю, что они оба будут показаны (log4j output и system.out).

Я не знаю почему.Может кто-нибудь объяснить вопрос?

Спасибо!

1 Ответ

0 голосов
/ 21 ноября 2018

System.out печать на «стандартную» консоль.Это может быть ваша текстовая консоль, но это может быть что угодно, так как ее легко настроить для перехода в другое место.

С другой стороны, любая библиотека регистратора может быть настроена для входа в любое место, куда вы захотите.

Короче говоря: скорее всего, это связано с некоторыми специфическими настройками конфигурации в вашей среде.Но мы не знаем ваших настроек, поэтому не можем дать более конкретный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...