1

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 があることは知っていますが、これは私たちのニーズには合いません。ありがとう。

-スティーブ

4

0 に答える 0