Bunyan Logger を NodeJS プロジェクト用に構成しようとしています。プロジェクトを 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
エラーまたはこれを解決する方法を理解するのに役立ちます..素晴らしいでしょう。ありがとう。