Winston で奇妙な問題が発生しており、ガイダンスを探していました。を使用してファイルストリームを閉じるだけでログをローテーションしようとしています
myTransport.transports.file.opening = true;
myTtransport.transports.file.close();
次に、使用してバックアップを開きます
myTransport.transports.file._createStream();
使ってみた
myTransport.transports.file.open();
しかし、コードを見た後、それは期待どおりに機能しませんでした。私の問題は、私が得ることです
events.js:45
throw arguments[1]; // Unhandled 'error' event
^
Error: EBADF, Bad file descriptor
ファイルが閉じられ、名前が変更され、再度開かれるとエラーが発生します。これは、動作を示すビデオへのリンクです。createAndFlush (229 行目) が実行され、self.flush (255 行目) が返された後の file.js (ファイル トランスポート)。次の実行は、まっすぐジャンプして戻りreturn self.emit('error', err);
ます (261 行目)。
誰でも提供できるヘルプは大歓迎です。私はこれに数回取り組んできましたが、ここや他の掲示板でそれについて何も見つけられないようです. winston には maxFile size と maxFiles があることは知っていますが、これは私たちのニーズには合いません。ありがとう。
-スティーブ