我要求我的应用程序能够查明自特定时间以来对象的复杂树是否发生了变化。更改可以是任何类型的事情:更新,删除,甚至视图。
我可以添加一些结构来使用时间戳将这些事件写入我的数据库,然后能够从中推断出更改,但为什么我应该为一个非常类似于系统日志的东西创建数据库表?
相反,我只想使用程序日志文件。我将阅读与特定模式匹配的最新条目(因此我知道条目是关于其中一个更改,我正在寻找),如果时间戳晚于我的检查点,我知道自从我的更改已经发生检查点。
这很简单,但我不确定是否有一些我没想过的东西。有一件事是我需要确保设置日志记录级别,以便消息实际出现在日志中,但这不应该是一个大问题。我可以有几个日志文件,我确保在其中一个中包含绝对所有内容,并让另一个可以自定义。
答案 0 :(得分:0)
从技术上讲,只要您没有尝试同时写入它(仅使用历史日志),它就会起作用,但这会破坏日志文件的目的。您可能期待异常跟踪以及其中的各种其他垃圾可能会使您的解析混乱。我肯定会建议写一个单独的数据日志,这将由您的应用程序根据数据的清洁度进行控制。
例如,如果您正在将数据写入系统日志并发生错误,显示“此数据:...有错误”。您的解析可能会读取它的副本,或者更糟糕的是,如果您有其他开发人员转储此信息,您可能无法控制它。