我在 ASP.NET 网站中使用 MS 企业日志记录应用程序块。
对于生产启动,我将在以下位置之一设置日志侦听器:
- Sql 服务器数据库
- Windows 事件日志
- 文本文件
哪个对性能影响最小?
注意 - 我现在不能切换到 Log4Net 或 ELMAH,所以请不要在你的回复中提出这个建议。
我在 ASP.NET 网站中使用 MS 企业日志记录应用程序块。
对于生产启动,我将在以下位置之一设置日志侦听器:
哪个对性能影响最小?
注意 - 我现在不能切换到 Log4Net 或 ELMAH,所以请不要在你的回复中提出这个建议。
SQL 将为您提供最大的报告灵活性。如果你有一个强大的数据库设置和快速的网络,它可能不会给你增加文本文件的额外负担。
OTOH,如果您不打算进行大量日志分析,只是在极少数情况下查看日志以找出导致问题的原因,那么文本文件更易于设置和管理。
事件日志没问题,但如果你打算使用它,请考虑仅将它用于重大错误,不要用一堆不重要的消息将它弄乱。将其与 SQL 或文本文件结合使用,并将这些重大错误记录到两个位置。
无论您做出何种决定,在投入生产之前对其进行性能测试。
我们使用事件日志,这似乎不会影响性能。我不能正确地告诉你每个人之间的区别......当它带有数据库时,这取决于。数据库是在同一台机器上,还是在不同的机器上?是不是在全国的半路上?
通常,数据库速度很快,但网络延迟会减慢该过程。磁盘 IO 通常也很快。用于日志记录的磁盘 IO 可以快速增长,如果将所有日志存储在同一个文件中,这可能不是最佳选择。
另外,考虑可访问性,哪一个更容易访问,而无需访问机器。该数据库将是该类别中的候选对象...
HTH。
我最终在产品中使用了这个配置:
任何具有较低严重性的东西,我们都不会记录。