Роллинг бревна в единороге - PullRequest
0 голосов
/ 13 октября 2011

Что является лучшим способом ежедневного просмотра журналов с использованием Rails 2.3.5 и Unicorn. Общие параметры смены журнала в классе Logger не работают, если запущено несколько экземпляров Unicorn, поскольку все рабочие не получат сброс своих дескрипторов файлов.

На страницах Единорога я видел предложенный вариант USR1. Несколько разъяснений по этому поводу:

  • Приводит ли файл журнала к новому имени и свежему файл журнала открывается?
  • У меня все еще есть проблемы с переименованием существующих журналов в следующую версию всякий раз, когда происходит опрокидывание.

Большинство людей используют стандартный ввод Unix logrotate для достижения этой цели?

1 Ответ

0 голосов
/ 03 октября 2012

Возможно, вы уже делаете это, но сначала вы должны записать каждый рабочий журнал в другой файл (чтобы не получать смешанные журналы). Я думаю (не совсем уверен), что Rails 2.3 использует старую версию BufferedLogger для ведения журналов, которая имеет некоторые возможности очистки, позволяющие избежать разделения журналов. Но с Rails 3.2 сброс выполняется на уровне ОС, поэтому нельзя полагаться на то, что журналы правильно распечатываются в одном и том же файле.

Ищите здесь решения по этому вопросу:

По основному вопросу, прокат был также отключен для более новых Rails (3.2+), поэтому я предлагаю использовать logrotate; Вы никогда не знаете, когда собираетесь обновиться.

Logrotate

...