【问题标题】:Bunyan Logger typescript configuration Errror named logger cannot be namedBunyan Logger typescript configuration Errror named logger cannot be named
【发布时间】:2017-07-17 03:29:33
【问题描述】:

我正在尝试为 NodeJS 项目配置我的 Bunyan Logger。在我开始将项目转换为 Typescript 之前,此配置运行良好。

这是在文件 MyLogger.ts 中配置我的记录器的配置函数:

import { createWriteStream } from 'fs'
import { stdSerializers, createLogger } from 'bunyan'
const pkg = require('../../package.json')

export default function (logLevel: string = 'debug', logFolder: string) {
  const logOptions = {
    serializers: stdSerializers,
    name: `${pkg.name}-${pkg.version}`,
    streams: [
      { level: 'error', stream: process.stderr },
      { level: logLevel, stream: process.stdout }
    ]
  }

  if (logFolder) {
    logOptions.streams.push(
      { level: logLevel, stream: createWriteStream(`${logFolder}/${pkg.name}.log`) })
  }

  const logger = createLogger ({
    name: logOptions.name,
    streams: logOptions.streams
  })

  return logger
}

现在当我编译打字稿时,我收到以下错误:

lib/config/MyLogger.ts(5,1):错误 TS4058:导出的返回类型 函数具有或正在使用来自外部模块的名称“Logger” “项目文件夹/node_modules/@types/bunyan/index” 但不能命名。

我正在使用节点版本:6.9.2 班扬版:1.8.5 @types/bunyan": "0.0.35

任何帮助理解错误或如何解决这个问题..都会很棒。 谢谢。

【问题讨论】:

    标签: node.js typescript logging bunyan


    【解决方案1】:

    基于此处的打字稿问题:TS4023

    我通过添加导入来运行编译:

    import * as Logger from '@types/bunyan'
    

    然后在我的导出函数中添加一个返回类型Logger

    【讨论】:

      猜你喜欢
      • 2018-06-18
      • 2019-03-18
      • 2022-12-02
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      相关资源
      最近更新 更多