0

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

エラーまたはこれを解決する方法を理解するのに役立ちます..素晴らしいでしょう。ありがとう。

4

1 に答える 1