仅记录重复消息一次或以较低频率记录重复消息

时间:2013-04-19 11:35:30

标签: c# logging log4net

我正在使用log4net来满足我们的应用程序日志记录需求。该应用程序基于.NET 3.5构建。此应用程序是一个数据驱动引擎,用于评估数据更改的某些计算。例如,当x或y发生变化时,将评估诸如x / y的简单计算。如果y为零且x继续以每秒1000的速率变化,我们每秒记录1000条错误消息。

所以,我需要一种方法来记录消息一次或以较低的频率记录每分钟一次。

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

我正在考虑使用HashSet <MessageDetails>来存储记录的消息及其TimeStamp。为简单起见,我们不要打扰这个HashSet的大小。在记录新消息之前,我可以检查之前是否记录了此消息。然后我可以决定是否记录此消息。

这是实现我想要实现的目标的好方法吗? 你们建议任何其他方法或改进吗?

0 个答案:

没有答案