Скажем, мы создаем пакет под названием 'my-loggers', который можно использовать повторно, который выглядит следующим образом:
import bunyan = require('bunyan');
const loggers = {};
export const getLogger = function(name, config){
if(loggers[name]){
return loggers[name];
}
return loggers[name] = bunyan.createLogger(config);
};
, затем в каждом приложении мы делаем:
npm install -S my-loggers
затем мы используем регистратор следующим образом:
import * as MyLoggers from 'my-loggers';
import config = require('../my-app-config');
const log = MyLoggers.getLogger('my-app', config.logging);
проблема в том, что действительно требуется 3 строки кода для получения регистратора для каждого файла в каждом приложении.
Я пытаюсь выяснить,способ создать единый пакет, который может извлечь регистратор для любого файла в любом приложении, и я пытаюсь
сократить все до одного LoC.
Я также стараюсь избегать относительных путей.
Я не могу придумать решение, которое включает в себя 1 пакет регистрации для всех наших приложений.Единственное, о чем я могу подумать, это либо отдельный пакет журналирования для приложения (что-то вроде lame), либо выполнение трюка, когда мы вставляем символ из нашего проекта в node_modules после установки npm, что позволяет нам избегать относительных путей.
Кто-нибудь знает хороший способ решить эту проблему?