Ротация логов
Задача такова:
Имеется сервер 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, время: 18:52. |