В попытке написать оболочку, которую мы можем использовать для моей текущей компании, я создал пакет, который помещается в репозиторий Artifactory, и люди могут его извлечь и получить регистратор с некоторыми настройками метаданных по умолчанию дляих. Тем не менее, типирование вызывает у меня приступы ...
Мой основной файл SRC выглядит следующим образом:
export const BaseLogger = winston.createLogger({
defaultMeta:{
environment: {
cai_environment: process.env.CAI_ENV,
node_environment: process.env.NODE_ENV,
},
},
format: winston.format.json(),
transports: [
new (winston.transports.Console)({ level: 'debug' }),
new (winston.transports.File)({ level: 'error', filename: 'error.log' }),
new (winston.transports.File)({ level: 'error', filename: 'debug.log' }),
new (winston.transports.File)({ level: 'warn', filename: 'warning.log' }),
new (winston.transports.File)({ level: 'warn', filename: 'debug.log' }),
new (winston.transports.File)({ level: 'debug', filename: 'debug.log' }),
]
});
export const LoggerService = BaseLogger.child({
app: "api-logger",
location: "src.services.index",
});
Когда я импортирую репо в свой проект, я получаю "нет"модуль определен "ошибка. Пакет определяется как "@ team / api-logger". Мое заявление об импорте:
import * as LoggingService from "@team/api-logger"
В конечном счете, я не пытаюсь ничего переопределить. Я скорее просто использую определения типов Уинстона и продолжаю, но для меня не совсем очевидно, как мне это определить. Спасибо!