Как записать все исключения в пользовательский регистратор в nest.js? - PullRequest
0 голосов
/ 11 мая 2019

У меня есть специальная служба ведения журналов, которая выводит структурированные журналы способом, который можно отправить в стороннюю службу сбора журналов.

Мне интересно, как лучше всего убедиться, что я перехватываю все ошибкиот ошибок HTTP до необработанных ошибок JS (например, TypeErrors, Uncaught Rejected Promises и т. д.) и отправьте их в указанный регистратор.

В большинстве примеров я видел только адреса HTTP error.

1 Ответ

1 голос
/ 11 мая 2019

Вы, вероятно, можете посмотреть здесь исключение uncaughtException, но оно не имеет отношения к nestjs

https://nodejs.org/docs/latest/api/process.html#process_event_uncaughtexception

Но будьте осторожны, потому что вы можете повредить стабильность вашего приложения

EDIT

Вы можете воспользоваться глобальными фильтрами, как описано здесь https://docs.nestjs.com/exception-filters

App.useGlobalFilters(new MyFilter())

А если вы хотите использовать DI, вы можете добавить их в appModule в коллекции провайдеров как пользовательский провайдер, используя токен

Provide: APP_FILTER,
useClass: MyFilter
...