Ротация логов
Задача такова:
Имеется сервер Debian, на котором запущен процесс менеджер pm2 контролирующий работу приложения "app.js". В свою очередь это приложение пишет информацию в файлы var output = Fs.createWriteStream('/path_logs/output.log', {'flags':'a'} ); var error = Fs.createWriteStream('/path_logs/error.log', {'flags':'a'} ); logger = new Console( output, error ); Так вот на сервере настроена ротация логов и раз в сутки старым файла присваивается новые индексы и создаются новые файлы логов. Вопрос стоит в том, как в запущенном приложении уловить момент обновления файлов и обновить связи, что бы после смены файлов информация писалась в новые файлы? |
Не найдя решение пошел другим путем.
Избавился от записи логов через: var output = Fs.createWriteStream('/path_logs/output.log', {'flags':'a'} ); var error = Fs.createWriteStream('/path_logs/error.log', {'flags':'a'} ); logger = new Console( output, error ); Программу запускаю с указанием вывода логов: pm2 start app.js -e err.log -o out.log # Start and specify error and out log Для logrotate настроено расписание включающее команду pm2 reloadLogs |
Часовой пояс GMT +3, время: 02:25. |