Jon*_*eet 60

本地写入磁盘,然后定期批量插入数据库(例如,在日志翻转时).在单独的低优先级流程中执行此操作.更高效,更强大......

(确保您的数据库日志表中包含"日志事件来自哪台计算机"的列 - 非常方便!)

  • 这是不是意味着数据库中的日志信息总是过时,因此主要用作存档而不是用于诊断最近问题的东西? (12认同)
  • 似乎很复杂 (4认同)
  • 当然,您可以尝试变得聪明 - 如果您记录任何"严重"的东西,收集器/插入器可以更早地刷新到数据库:) (3认同)
  • 有时,评论提供了对主题的深入了解! (3认同)
  • @Peri:远没有那么复杂。如果您有合理数量的日志记录,您直接写入数据库的建议可能会对性能产生非常显着的影响。您真的不希望最终出现无法添加更多诊断信息的情况,因为每个日志调用都将涉及数据库往返。 (2认同)

Mus*_*sis 8

我会说不,因为相当大比例的服务器错误涉及与数据库通信的问题.如果数据库位于另一台计算机上,则网络连接将成为无法记录的另一个错误源.

如果我要将服务器错误记录到数据库中,那么在数据库无法访问的情况下,拥有一个本地写入(到事件日志或文件或其他内容)的备份记录器至关重要.