Настройка центрального пакета регистрации для нескольких приложений - PullRequest
0 голосов
/ 26 апреля 2018

Скажем, мы создаем пакет под названием '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 строки кода для получения регистратора для каждого файла в каждом приложении.

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

  1. сократить все до одного LoC.

  2. Я также стараюсь избегать относительных путей.

Я не могу придумать решение, которое включает в себя 1 пакет регистрации для всех наших приложений.Единственное, о чем я могу подумать, это либо отдельный пакет журналирования для приложения (что-то вроде lame), либо выполнение трюка, когда мы вставляем символ из нашего проекта в node_modules после установки npm, что позволяет нам избегать относительных путей.

Кто-нибудь знает хороший способ решить эту проблему?

1 Ответ

0 голосов
/ 26 апреля 2018

Хорошо, у меня есть решение.Мы можем просто сделать это:

import log from 'my-loggers/app1'
import log from 'my-loggers/app2'
import log from 'my-loggers/app3'

, чтобы хранить разные регистраторы в одном пакете.

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