Как Tomcat перенаправляет подробные данные: вывод консоли gc на catalina.out - PullRequest
0 голосов
/ 05 декабря 2011

Мне нужно понять, как Tomcat может перехватывать журналы вывода консоли сбора мусора JVM и помещать их в catalina.out.

Я пытался перенаправить System.out и System.err , но не может сделать.Я не смог получить вывод логов GC.Однако при активации -verbose: gc в Tomcat (в catalina.sh, * JAVA_OPT *) и последующей проверке вывода в catalina.out я смог увидеть журналы GC.Как это возможно?Как Tomcat смог перенаправить этот вывод в файл?

Может быть, вы знаете какой-либо способ перенаправления вывода журнала GC внутри какого-либо Java-приложения с использованием кода Java?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Это не имеет ничего общего с кодом; catalina.out файл не является "реальным журналом", это просто файл, в который стандартная команда запуска tomcat помещает все свои выходные данные.

Другими словами, это вопрос оболочки, а не Java:)

0 голосов
/ 05 декабря 2011

Tomcat действительно должен использовать System.setErr () и System.setOut ().На этом сайте есть отличная дискуссия о том, как это работает: java: "final" System.out, System.in и System.err?

Tomcat перенаправляет весь вывод консоли на catalina.из.Вы можете настроить это через настройки журнала JULI.

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