2

作成したアプリケーションへのログインにLog4Netを使用しています。ログファイルへの書き込みには、5つのバックアップと最大ファイルサイズ250KBのRollingFileAppenderを使用します。

私がやりたいのは、クラッシュが発生した場合にログを送信する機会をユーザーに提供することです。ユーザーがプログラムを再開する場合は、これを可能性としてユーザーに提示してほしいと思います。

ただし、問題は、プログラムの実行中に明らかにロールオーバーされないため、通常、プログラムの開始時にログファイルがロールオーバーを実行することです。

したがって、必要なのは、ロールオーバーされたばかりのログファイル、つまり前のログファイルのファイル名です。

それを見つける簡単な方法はありますか?

4

1 に答える 1

1

最善の策は、ログファイルが保存されている場所でディレクトリルックアップを実行することです。ファイルのパターンを知っているので、ファイルのリストをログファイルタイプのみに絞り込むことができます。次に、.txtの後に番号が付いている最新のファイルを見つけます。たとえば、log.txtにログを記録する場合、現在のログは常にlog.txtであるため、ロールオーバーされたログはlog.txt.1と呼ばれます。最新のファイルを見つけたら、送信するファイルが常にわかります。

于 2011-05-07T17:03:19.037 に答える