Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Ротация логов (https://javascript.ru/forum/node-js-io-js/71597-rotaciya-logov.html)

ujim 30.11.2017 10:30

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


Так вот на сервере настроена ротация логов и раз в сутки старым файла присваивается новые индексы и создаются новые файлы логов.

Вопрос стоит в том, как в запущенном приложении уловить момент обновления файлов и обновить связи, что бы после смены файлов информация писалась в новые файлы?

ujim 02.12.2017 16:43

Не найдя решение пошел другим путем.

Избавился от записи логов через:
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.