Где записывается system.out.println в tomcat под окнами?

Я использую стороннюю библиотеку (не могу ее модифицировать), которая использует для регистрации операторов system.out.println. Результат отлично отображается в консоли, но я не могу получить эту информацию в файле журнала каталины [...].

Можно ли отправить их в log4j?

Ответ 1

System.out.println() выводится на стандартный вывод. Поэтому, если вы хотите видеть эти инструкции в файле журнала, вы можете просто перенаправить stdout, где вы хотите, в Tomcat startup script.

Ответ 2

При запуске Tomcat в unixes вывод консоли обычно перенаправляется в файл с именем catalina.out. Имя настраивается с использованием переменной среды. (См. Сценарии запуска).

http://tomcat.apache.org/tomcat-7.0-doc/logging.html#Console

Ответ 3

Если вы используете JSP, вам нужно добавить

 <%@ page isThreadSafe="false"  %>

Затем все ваши System.out.printlns начнут отображаться в файле catalina.out.

Если вы запустите tomcat с запуском Catalina.sh из командной строки, вы увидите отпечатки на выходе.

Ответ 4

Вы можете найти эти журналы также в cat/var/log/messages

если вы попробуете

cat /var/log/messages | grep server

Ответ 5

Вы можете найти его внутри TOMCAT_HOME/logs/stdout_20130104.txt (имя файла может измениться, но файлы журнала обычно находятся в папке TOMCAT_HOME/logs/.

И для меня все sysouts, которые у меня есть в моем коде, записаны в таком файле.

Ответ 6

В моем случае (Fedora 29 apache-tomcat-8.5.39) он был найден в файле catalina.out, расположенном в папке logs.