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
Настройка swallowOutput, похоже, не имеет никакого значения.
Приложение, запускаемое под tomcat, является solr, если это актуально.
5 ответов
Исправлено, оказывается, стандартная конфигурация регистрации определяет файловый регистратор, а также консольный регистратор. Регистратор файлов переходит в ежедневный журнал catalina, а консольный регистратор пишет в catalina.out.
Исправлено было изменить в conf/logging.properties:
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
в
.handlers = 1catalina.org.apache.juli.FileHandler
Это останавливает все, что пишут в catalina.out
Привет, вы можете попробовать это решение
http://java.dzone.com/articles/how-rotate-tomcat-catalinaout
Он использует cronjob (logrotate) для копирования, сжатия и очистки вашего catalina.out, и если вы посмотрите на logrotate, вы увидите, что он обладает множеством дополнительных функций. Это не мешает ежедневным журналам, если вы не настроите это. Я нашел это полезным, когда столкнулся с той же проблемой.
Кстати, удаление консольного обработчика повлияет только на сообщения, созданные Tomcat.
Вы можете повернуть ваш файл catalina.out, настроив:-
Шаги:-
1) Перейдите в /etc/logrotate.d и создайте файл tomcat.
2) Вставить ниже строки
Повернуть по размеру
/opt/OS/OS2/logs/catalina.out {
copytruncate
ежедневно
повернуть 30
компресс
missingok
размер 20 м
}
- size - резервная копия catelina.out, если размер больше 20 МБ
ИЛИ ЖЕ
- Повернуть по дате
/opt/deadpool/apache-tomcat/logs/catalina.out {
copytruncate
dateext
ежедневно
повернуть 30
компресс
missingok
}
- повернуть - сохранить последние 30 вращений
- dateext - резервная копия catelina.out каждый день
- ежедневно - ротация ежедневно
- сжатие - вращение в форме сжатия
- отсутствующий - если чего-то не хватает во вращении, это не создаст ничего
3) Перезагрузите сервер
Его работа для меня:) Надеюсь, это поможет кому-то.
Спасибо:)
У меня была такая же проблема на сервере Ubuntu 11.04 SOLR, и файл catalina.out был почти 1 ГБ. После
изменение logging.properties:
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
в
.handlers = 1catalina.org.apache.juli.FileHandler
Это перестает регистрироваться в catalina.out
Вы можете найти файл logging.properties в папке /etc/tomcat6/ для Ubuntu Linux.
Я также заметил мою папку журнала 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