Недавно у меня возникла идея использования регистрации в nodejs winston
. Я начал настраивать его, и он начал расти. Я использую его в моем файле index.js, но он начал становиться большим, а затем я разделял этот файл в модулях. Я хочу также регистрировать события, которые происходят в модулях, но для этого мне нужно будет либо требовать, либо реконфигурировать журнал winston каждый раз, либо вставлять winston logger из index.js в модули. Я думаю, что последний способ лучше, но есть ли лучший способ? Моя идея заключается в: предположим, что Логгин мой настроенный объект протоколирования, вот что я хотел бы сделать в каждом myModule.js:Использование журнала (или другого объекта из index.js) в модулях nodejs
var logging;
module.exports.injectLog(loggingObject) {
this.logging = loggingObject;
}
module.exports.someFunctionThatNeedsToBeLogged() {
//do something
logging("doing some log");
}
Тогда в index.js я потребовал бы модуль вроде этого:
var myModule = require('./myModule.js').injectLog(loggingObject);
это хороший подход?
Не будет ли загрузка регистратора 2 раза? Один, когда мне нужен модуль, который использует регистратор, а другой, когда мне нужен логгер в index.js? – Gatonito
Он должен быть кэширован узлом при первом загрузке. Это должно быть легко проверить, добавив 'console.log ('testing');' after' winston.configure ... ' – leesio