【发布时间】:2017-02-22 18:50:09
【问题描述】:
我有一个基于 C# 代码的简单独立日志应用程序,它接受参数并将它们附加到日志文件中。
一些事件多次出现在日志中(由于重试)
在 x 时间段内“跳过”记录重复事件的最佳方法是什么?
(由于仅在事件发生时才调用日志记录应用程序,因此我无法将此数据保存在内存中)
我的第一个想法是保留某种带有事件哈希的文件(不包括时间戳)并在列表中检查它,但我想知道是否有更好的方法来做到这一点,因为我们正在记录很多数据,我担心管理另一个文件,运行哈希函数并搜索我的功能是一个杀手。
【问题讨论】:
-
您描述的功能超出了简单的日志文件机制。您应该尝试
SQLite并在那里进行日志记录。"log_message", "log_timestamp"上的双列索引将使您能够在最后 X 分钟内查询以Whatever error message开头的消息,如果没有找到,INSERT .....