Лучшая практика, позволяющая пользователям вводить регистратор в модули nodejs

Я написал этот модуль для nodejs, который можно использовать для отправки событий из любого места через sockjs клиентам.

Теперь я хотел бы включить некоторые настраиваемые механизмы ведения журналов.

На данный момент я добавляю winston как зависимость, требую его в качестве регистратора в каждом классе и использую logger.error, logger.warn, ...

#logger.js
var logger = require('winston');
module.exports=logger;

а также

#myClass
var logger = require("./logger");
logger.error("Something went wrong")

Теперь, как я могу сделать так, чтобы регистратор мог быть заменен пользовательским регистратором или чтобы пользователь настраивал уровень журнала из ВНЕШЕГО модуля?

Конечно, им не нужно прикасаться к коду модуля, чтобы изменить регистратор, но иметь возможность создавать регистратор с уровнем логирования, и мой модуль должен использовать его, если он доступен.

Любые рекомендации о том, как это сделать?

Или жесткая зависимость от "winston" в порядке, и уровень лога можно настраивать через npm-config?

Ответы на вопрос(2)

Ваш ответ на вопрос