catalina.out катится с Tomcat 6.0 - PullRequest
40 голосов
/ 18 июля 2009

У меня есть установка 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 ]

67 голосов
/ 18 июля 2009

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

Исправлено изменение в файле conf / logging.properties:

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

до

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

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

4 голосов
/ 10 марта 2011

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

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

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

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

2 голосов
/ 01 июля 2016

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

Шаги: -

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

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

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

/ opt / OS / OS2 / logs / catalina.out {
copytruncate
ежедневно
повернуть 30
сжать
missingok
размер 20М
}

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

OR

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

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

copytruncate

dateext

ежедневно

повернуть 30

компресс

missingok

* *} Тысяча сорок-девять
  • поворот - сохранить последние 30 вращений
  • dateext - резервное копирование catelina.out каждый день
  • ежедневно - ротация ежедневно
  • компресс - вращение в форме компрессии
  • missingok - если чего-то не хватает во вращении, это не создаст никаких признаков

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

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

Спасибо:)

1 голос
/ 28 марта 2012

У меня была такая же проблема на сервере 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.

0 голосов
/ 26 мая 2016

Я также заметил, что моя папка журнала 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
...