Назад | Перейти на главную страницу

Как перенаправить журнал консоли tomcat в файлы? Tomcat запускался через Windows Bat

Когда Tomcat запускается как служба, он помещает свой выходной журнал:

\logs\stderr.log  
\logs\stdout.log 

Как записать эти файлы журнала, когда Tomcat запускался как BAT в Windows?

P.S .: Я пытался запустить Tomcat с помощью:

call startup > ../logs/consolelog.log 2<&1

Но выход consolelog.log всего 5 строк

Using CATALINA_BASE:   "C:\Java\Tomcat 5.0"
Using CATALINA_HOME:   "C:\Java\Tomcat 5.0"
Using CATALINA_TMPDIR: "C:\Java\Tomcat 5.0\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.5.0_22"
Using CLASSPATH:       "C:\Java\Tomcat 5.0\bin\bootstrap.jar"

и много вывода в консоли

Для тех, на кого принятый ответ не работает:

У меня была такая же ситуация, но я использовал (liferay -> tomcat) startup.bat, и он всегда открывал консоль tomcat. Способ редактирования файла startup.bat так, чтобы он выводил журнал в файл, был таким:

Ищите строку:

call "%EXECUTABLE%" start %CMD_LINE_ARGS% 

и отредактируйте его так, чтобы он выглядел так:

call "%EXECUTABLE%" run >..\logs\outputfile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\outputfile.log 2>&1  

Вы можете найти свой вывод в папке журналов tomcat. Это файл outputfile.log. Решение - эксперимент с тем, что я нашел на эта страница, который был связан с этот форум. Удачи.

редактировать conf/logging.properties и измените эту строку

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

к

.handlers = 1catalina.org.apache.juli.FileHandler

Тогда он войдет только в catalina.<date>.log, а не на консоль.

Я не проверял дважды, но я думаю, что вы можете просто перенаправить консольный ввод-вывод стандартным способом Windows и Unix:

tomcart-start > C:\mylog\log.txt

Я обновил startup.bat

call "%EXECUTABLE%" jpda run >..\logs\server.log 2>&1 start %CMD_LINE_ARGS% >..\logs\server.log 2>&1

Работает для меня.

Насколько я понимаю, в вашем случае я бы не стал использовать вызов запуска.

Пытаться:

catalina run > ..\logs\consolelog.all 2>&1

или

catalina run > ..\logs\consolelog.out 2> ..\logs\consolelog.err

вызов запуска в конце звонки каталина старт, который запускает новую консоль. С другой стороны Каталина Беги запускается в той же консоли, и вы можете перенаправить свой stdout, stderr по своему усмотрению.