2013-03-05 7 views
17

Я использую forever для запуска приложения моего узла. Когда я начинаю навсегда, я указываю, где писать журналы. Я также указываю добавить к журналу. Проблема здесь в том, что мой журнал будет расти из-под контроля в течение нескольких месяцев.Журналы архива NodeJS/Forever

Есть ли способ архивировать/свертывать журналы с интервалом, то есть каждый день рулон/архив того, что находится в файле журнала, в другой файл (то есть сервер-2013-3-5.log). Таким образом, я могу удалить/удалить старые файлы журналов по мере необходимости.

Я только начал изучать использование Winston для моего регистратора, и я не нашел ничего там, что могло бы помочь.

Любые идеи?

+0

Как вы решили это в конце? – JustGoscha

ответ

34

forever сам по себе не поддерживает поворот журнала и поворот журнала по-прежнему pending feature request для Winston.

Вы можете использовать logrotate, который входит в большинство дистрибутивов Linux и используется для обработки файлов системного журнала, а также для использования другим программным обеспечением, таким как Apache.

Добавить файл в /etc/logrotate.d/

/path/to/server.log { 
    daily   # how often to rotate 
    rotate 10  # max num of log files to keep 
    missingok  # don't panic if the log file doesn't exist 
    notifempty # ignore empty files 
    compress  # compress rotated log file with gzip 
    sharedscripts # postrotate script (if any) will be run only once at the end, not once for each rotated log 
    copytruncate # needed for forever to work properly 
    dateext  # adds date to filename 
    dateformat %Y-%m-%d. 
} 

См more logrotate examples.

+2

Вращение журнала теперь возможно с помощью Winston: https://github.com/flatiron/winston/pull/205 – JCM

+2

'sharedscripts':« Sharescripts означает, что скрипт postrotate будет запускаться только один раз (после того, как старые журналы были сжаты), не раз для каждого журнала, который вращается ». [man logrotate] (http://linuxcommand.org/man_pages/logrotate8.html) –

+0

@JCM Как настроить конфигурацию навсегда для использования этой новой функции в Winston? Должен ли я переключиться с использования командной строки на программное использование навсегда? – sheldonh

 Смежные вопросы

  • Нет связанных вопросов^_^