1

winston をローカルにインストールし、ログ ファイル名を指定しました: './dataTest.log'。

var winston = require('winston');
winston.add(winston.transports.File, { filename: './dataTest.log' });

しかし、ログファイルがユーザーのホームフォルダーにあることがわかりました。(これは /Users/username です。私は Macos を使用しています)。なんで?mynodeproject/public フォルダーにあると思っていました。

パスを「dataTest.log」として設定しようとしましたが、同じ結果です。

編集:これはおそらくノードと関係がありますか? では、どのようにノードに相対パスを設定しますか?

4

3 に答える 3

2

次のソリューションを使用しました(のパラメーターとしてcreateLogger):

transports: [
    new transports.File({ filename: './src/logger/error.log', level: 'error' }),
    new transports.File({ filename: './src/logger/rest.log' })
]
于 2020-04-20T21:05:19.200 に答える
1

思いつきで、「./data.log」の代わりに「data.log」を使ってみてください。

私たちがお手伝いできるように、Winston の構成とログ記録に使用したコードを含める必要があります。

また、winston をローカルにインストールしたとはどういう意味ですか?

ファイルが './data.log' として指定され、それがホーム フォルダーに書き込まれた場合、実行時の現在の作業ディレクトリはおそらくホーム フォルダーでした。ホームフォルダーから node プログラムを実行しましたか?

于 2013-07-25T04:08:56.050 に答える