Узел / Экспресс: Как регистратор Уинстона / Буньяна в основном работает в структуре проекта - PullRequest
0 голосов
/ 05 сентября 2018

Я сделал несколько вводных уроков по Уинстону и Буньяну (например, https://github.com/trentm/node-bunyan), просто чтобы посмотреть некоторые результаты регистрации на главной странице app.js с настраиваемыми параметрами ведения журнала и т. Д.

Я хотел бы знать, как мне настроить экземпляры и конфигурацию журналирования для структуры моего проекта. В данный момент у меня есть проект в Node / Express с несколькими API с маршрутами и логикой контроллера. за маршрутами ... В моем проекте есть папка " models ", в которой определены коллекции схем mongodb. папка routs , в которой я настроил API-маршруты с использованием логики контроллера и методов, а затем, наконец, папка RouteController , куда я помещаю полный запрос к базе данных и обработку данных логика внутри, я принимаю запросы как json и возвращаю ответы как json.

На данный момент у меня есть все входы с Уинстоном и Буньяном в app.js. Но я хотел бы регистрировать события, когда я выбираю свои маршруты. Журналы должны быть сгруппированы по уровню журнала (предупреждение, информация и т. Д.) И записаны в отдельный файл, соответствующий уровню журнала.

Кроме того, я хотел бы настроить вывод журнала и создать собственные поля, если они не существуют. Например, мне нужно в качестве «имени» имя функции, стоящей за маршрутом, или уровень должен быть закодирован как код, например 30XXX для информации об уровне, 40XXX для предупреждения об уровне и т. Д. «код» должен быть соответствующим сообщением в соответствии с уровнем события, например, 30001: «служба запущена» и т. Д.

Теперь мой вопрос: как я могу настроить свой регистратор для моих маршрутов, должен ли я передавать свой экземпляр регистратора внутри функций контроллера, например, в качестве параметра, а затем внутри функций контроллера настраивать регистрацию вручную? Для каждого маршрута? Или есть более общий подход лучше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...