catalina.out работает с Tomcat 6.0

У меня есть установка tomcat по умолчанию без изменений в конфигурации ведения журнала. Файлы журнала (в частности, catalina.out), похоже, обновляются (ежедневно) правильно.

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

Может ли кто-нибудь объяснить, что здесь происходит, и как лучше всего контролировать размер файла журнала?

Просто чтобы уточнить, что вывод записывается в catalina.out и ежедневный журнал одновременно.

-rw-r--r--  1 solr solr   90920663 Jul 18 01:16 logs/catalina.2009-07-18.log
-rw-r--r--  1 solr solr     238010 Jul 18 01:16 logs/catalina.out

Настройка глоткавыхода, похоже, не имеет никакого значения.

Приложение, запущенное под управлением tomcat, является solr, если это уместно.


person objects    schedule 18.07.2009    source источник
comment
Первое появление catalina.out, вероятно, неверно. Это catalina.log, который меняется ежедневно.   -  person ceztko    schedule 11.09.2013


Ответы (5)


Исправлено, оказалось, что стандартная конфигурация ведения журнала определяет файловый регистратор, а также консольный регистратор. Файловый регистратор заходит в ежедневный журнал Catalina, а консольный регистратор записывает в catalina.out.

Исправление заключалось в изменении в conf/logging.properties:

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

to

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

Это предотвращает запись чего-либо в catalina.out

person objects    schedule 18.07.2009
comment
Просто хотел упомянуть, что это не останавливает приложение, которое указывает что-то подобное в своем файле log4j.properties: log4j.rootLogger=DEBUG,stdout,logfile Они по-прежнему сбрасываются на стандартный вывод и помещаются в catalina.out. Просто есть на что посмотреть... - person Corey S.; 30.11.2010
comment
Куда идут логи, если не авторизовались в catalina.out? Я в основном ссылаюсь на catalina.out для отладки и нуждаюсь в этих журналах. - person Rakesh Rakshit; 04.08.2017
comment
@RakeshRakshit точный выходной файл указан как часть параметров FileHandler - см. Обработчик файлов. Скорее всего, это будет catalina.YYYY-MM-DD.txt на основе значений по умолчанию для FileHandler и tomcat. - person YoYo; 14.05.2018

Привет, вы можете попробовать это решение

http://java.dzone.com/articles/how-rotate-tomcat-catalinaout

Он использует cronjob (logrotate) для копирования, сжатия и очистки вашего файла catalina.out, и если вы посмотрите на logrotate, вы увидите, что он имеет множество дополнительных функций. Это не мешает ежедневным журналам, если вы не настроите это. Я нашел это полезным, когда столкнулся с той же проблемой.

Кстати, удаление обработчика консоли повлияет только на сообщения, созданные Tomcat.

person Rambo Amadeus    schedule 10.03.2011
comment
Когда я выполняю /usr/sbin/logrotate /etc/logrotate.conf после настройки /var/log/tomcat/catalina.out, это все равно не решает мою проблему с поворотом файла catalina.out - person Bhavik Ambani; 07.02.2012
comment
Другое дело, что это будет меняться ежедневно. Что делать, если я хочу выполнить ротацию, когда размер файла журнала достигнет максимального выделенного размера? - person Bhavik Ambani; 07.02.2012

вы можете повернуть файл catalina.out, настроив: -

Шаги: -

  • 1) Перейдите в /etc/logrotate.d и создайте файл tomcat.

  • 2) Вставить ниже строки

  • Повернуть по размеру

/opt/OS/OS2/logs/catalina.out {
copytruncate
ежедневно
ротация 30
сжатие
missingok
размер 20M
}

-- size - резервная копия catelina.out, если размер больше 20 МБ

OR

  • Поворот по дате

/opt/deadpool/apache-tomcat/logs/catalina.out {

копироватьусечение

дататекст

ежедневно

повернуть 30

компресс

отсутствует

}

  • rotate - Сохранить последние 30 оборотов
  • dateext — резервное копирование catelina.out каждый день
  • ежедневно - Ежедневная ротация
  • сжатие - вращение в сжатой форме
  • Missingok - если чего-то не хватает в ротации, это не создаст последствий

3) Перезагрузите сервер

Это работает для меня :) Надеюсь, это кому-то поможет.

Спасибо :)

person Skyfall    schedule 01.07.2016
comment
Мне нравится этот ответ больше, потому что он имеет CR / LF в параметрах (в противном случае вы можете получить «плохой счетчик вращения» в течение нескольких дней) и имеет возможность четко вставить размер и дату. Кстати, пункт 3 мне не требовался (CentoOS 7.x) и, наконец, вы можете проверить, все ли вас устраивает через /usr/sbin/logrotate /etc/logrotate.conf, учитывая, что он будет вращать все в каталоге (требуется root-доступ) - person Diego1974; 04.04.2018
comment
Да пункт 3) перезапускать сервер не нужно, см. unix.stackexchange.com/questions/116136/ для получения подробной информации. - person Eugene Gr. Philippov; 11.02.2021

У меня была такая же проблема на сервере Ubuntu 11.04 SOLR, а файл catalina.out был почти 1 ГБ. После

изменение logging.properties:

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

to

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

Это останавливает вход в catalina.out

Вы можете найти файл logging.properties в папке /etc/tomcat6/ для Ubuntu Linux.

person Guray Celik    schedule 28.03.2012

Я также заметил, что моя папка журнала Tomcat (/usr/local/tomcat/logs) была довольно большой. Чтобы проверить размер папки журнала, выполните следующие действия: du -hs /usr/local/tomcat/logs/. Чтобы решить эту проблему, настройте cron, который будет очищать файлы каждую ночь, или вы можете запускать эти команды вручную. Вот сценарий оболочки, который удалит файлы, которые старше на 5 дней.

#!/bin/sh
find /usr/local/tomcat/logs -name 'catalina.*.log' -mtime +5 -print0 | xargs -0 rm -f
find /usr/local/tomcat/logs -name 'localhost_access_log.*.txt' -mtime +5 -print0 | xargs -0 rm -f
person RC_02    schedule 26.05.2016