3

NLog によって作成されたファイルにログを書き込むアプリケーションがあります。また、Log Viewer という別のアプリケーションがあります。上記のログファイルを開いて読み取ることができます。しかし、ここでいくつかの問題があります。ログ ビューアがログ ファイルを読み取っていて、最初のアプリケーションがログ ファイルに書き込んでいる間、一部のログ行がログ ビューアに表示されません。たとえば、最初のアプリケーションがミリ秒ごとにログを書き込んだ場合、ログ ビューアーは新しいログ行を追跡できず、それらの一部を見逃してしまいます。新しいログ行を追跡できるオンライン ログ ビューアが必要です。メソッド呼び出しごとにファイル内のすべてのテキストを読み取りたくはありません。新しいログ行を読み取るだけで済みます

4

3 に答える 3

3

両方のアプリケーションで同じログを共有すると、問題が発生する可能性があります。おそらく最も簡単な解決策は、ビューアーに元のログ ファイルをコピーさせ、専用のコピーを表示させることです。実際のログ ファイルが更新されているかどうかをときどき確認し、それに応じて新しいコピーを作成できます。

両方が同じファイルにアクセスするとロックが必要になり、ファイルへの書き込みができない場合にアプリケーションで問題が発生するリスクがあります (ブロック、ログ エントリの損失、または例外の生成の可能性があります)。

于 2013-09-16T17:49:29.943 に答える