温斯顿包装器打字问题

时间:2019-10-14 19:36:43

标签: typescript logging winston type-definition

为了编写一个包装程序,我们可以在现有公司内部使用该包装程序,我创建了一个程序包,该程序包被推送到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"

最终,我没有尝试重新定义任何内容。我宁愿只使用Winston类型定义并继续前进,但是对于我需要如何定义它并不完全清楚。谢谢!

0 个答案:

没有答案