我设计为中小型企业内部网系统。我应该保持一个日志表的所有模块或使其分开?

审计日志保留所有的管理员/员工活动(创建,更新,删除的对象)和日志结构是普遍的任何类型的模块。

和也是一个好主意,如果我拉基于日志记录报告?我的日志表保存对象类型和对象ID,所以我可以对任何对象和基于事件,对象名称和对象ID的任何时间获取数据。

什么是在这种情况下报告的最佳方法?

有帮助吗?

解决方案

那么,当你去检查你的日志,其中你喜欢做什么,看看在一个地方,你可以看到一切还是要检查几个不同的地方,每个只是显示在隔离一件系统的<? / p>

请记住,用一个单一的表,是微不足道的过滤掉无关或该用户不具有授权以查看条目。几个单独的日志合并成一个单一的,全面的观点是有点棘手的事,再加上它有另外的缺点,在大多数设计中,需要你重新审视它执行每次添加一个新的日志表的时间相结合的代码。

我肯定地说单个日志是优选的。我能想到的在多个隔离日志将是适当的唯一情况是,如果安全问题是强大到足以需要与不同的可见性的日志条目必须是物理隔离 - 而且,在这种情况下,你可能会寻找在不同登录服务器,而不仅仅是单独的表。

其他提示

请参阅 log4php log4j的通过引入日志层次和水平解决很多的问题记录。我不知道log4php有多好,但它应该是首发出场。

我说一个表。

您可能希望找到用户活动的所有模块,例如(如果我理解正确的话)。其本身借给一个表。

举报了你的日志表就OK。你卸载到一个单独的报告数据库,以减少对记录表争用和负荷。

最后,我将存储对象名称和明确键入(数据库对象)。 如果您删除并创建再ID将会改变。或表可以成为例如一个视图,以便既它的类型而objectid将会改变。

我们使用单一的表和它被证明是最好的解决方案,特别是在性能。尤其是大型数据集。如果你有兴趣在现成的,现成的解决方案 - 尝试

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top