我正在尝试为 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:导出函数的返回类型具有或正在使用来自外部模块“project-folder/node_modules/@types/bunyan/index”的名称“Logger”,但无法命名.
我正在使用节点版本:6.9.2 Bunyan 版本:1.8.5 @types/bunyan":"0.0.35
任何帮助理解错误或如何解决这个问题..都会很棒。谢谢。