Каков наилучший способ очистки объекта регистратора в NodeJS?

#node.js

Вопрос:

Мое приложение-это API, который хранит события журнала запросов, которые он получает. Объект пользовательского регистратора периодически записывает события журнала в базу данных на основе таймера или когда размер очереди достигает максимального размера. Я хочу очистить очередь журнала событий этого объекта при закрытии приложения либо из-за фатальной ошибки, либо из-за перераспределения. Я использую express и собственные модули https для создания сервера API. Я думаю, что могу очистить журнал в прослушивателе ошибок сервера и обратном вызове закрытия сервера, но как мне ссылаться на объект регистратора, область действия которого ограничена другим сценарием в проекте? Я рассматривал возможность использования глобальных переменных, но это, похоже, крайне не рекомендуется, так есть ли лучшая альтернатива для моего варианта использования?

Ответ №1:

Вы можете настроить прослушиватель событий для process объекта, который доступен глобально в узле. Вам нужно будет поэкспериментировать с тем, какое событие прослушивать, чтобы убедиться, что оно постоянно срабатывает и вы можете выполнять ту работу, которую хотите выполнить. События сигнала, вероятно, являются вашим лучшим выбором, так exit как событие не позволяет вам выполнять асинхронные задачи, такие как очистка