Как перевернуть файлы Tomcat 5.5 stderr и stdout, когда они становятся слишком большими / большими? - PullRequest
2 голосов
/ 28 апреля 2011

Я пытался найти способ взять файлы журнала stcatr и stdout Tomcat 5.5 и перевернуть их, когда они становятся слишком большими, но я не смог этого сделать.Теперь, пожалуйста, поймите, что это НЕ для регистрации веб-приложений.Это просто журналы stdout и stderr, которые автоматически создаются Tomcat.Опять же, они становятся слишком большими, и мне просто нужен метод, чтобы пролонгировать их, когда они становятся слишком большими и / или через определенный промежуток времени (то есть каждый день, каждый час).

Я пытался использовать log4j, ноПохоже, что он предназначен для регистрации приложений, не так много для tomcat.Я нашел метод, который утверждает, что он может перенаправить stdout и stderr, используя og4j (http://sysgears.com/articles/how-to-redirect-stdout-and-stderr-writing-to-a-log4j-appender#comment-749),), и я написал на этом сайте пару вопросов, подробно описывающих мое положение с ним, но я не смог заставить его работать. Если я смогузаставить этот метод работать, или если есть другой способ, отличный от log4j, я был бы признателен за это.

Более того, можно ли было бы пролистывать файлы самостоятельно, скажем, в Java или Perl? Кактест, я попытался удалить файлы, так как они были записаны, но, конечно, я не смог. Файлы были заблокированы Tomcat. Процесс будет такой:

Разблокировать файл из процесса TomcatПроверьте, не слишком ли велик размер. Если это так, сохраните и закройте файл, напишите новый с новым именем файла (например, stderr01012011_1.log). Заблокируйте новый файл для процесса Tomcat

Это звучит как большая работа иможет даже не быть выполнимым, но если я не могу заставить работать метод log4j, что я могу сделать? Спасибо.

Я бы хотел, чтобы в Apache было что-то встроенное в файлы журналов опрокидывания stderr и stdout.

1 Ответ

1 голос
/ 19 июля 2011

Вы можете использовать logrotate с опцией «copytruncate». Взгляните сюда: Как повернуть Tomcat catalina.out

...