0

アプリケーションのログ記録のニーズに log4net を使用しています。アプリケーションは .NET 3.5 上に構築されています。このアプリケーションは、データ変更に関する特定の計算を評価するデータ ドリブン エンジンです。たとえば、x/y のような単純な計算は、x または y のいずれかが変化するたびに評価されます。y がゼロで x が 1 秒あたり 1000 の割合で変化し続ける場合、1 秒あたり 1000 のエラー メッセージがログに記録されます。

そのため、メッセージを 1 回だけログに記録する方法、または 1 分に 1 回などのより少ない頻度でログに記録する方法が必要です。

public class MessageDetails
{
   public string Message { get; set; }
   public DateTime TimeStamp { get; set; }
}

HashSet を使用して<MessageDetails>、ログに記録されたメッセージを TimeStamp と共に保存することを考えています。簡単にするために、この HashSet のサイズは気にしません。新しいメッセージをログに記録する前に、このメッセージが以前にログに記録されているかどうかを確認できます。次に、このメッセージをログに記録するかどうかを決定できます。

これは、私が達成しようとしていることを達成するための良い方法ですか? 代替の方法や改善点はありますか?

4

0 に答える 0