2010-07-17 41 views

回答

2

这部分取决于你使用的平台。例如,如果您使用的是ASP.NET,那么内置的ASP.NET运行状况监视器已经为您记录了未捕获的异常,因此您无需执行任何操作。

我同意你网站在生命周期中的重要点应该被记录下来。我不同意传统的文本日志记录是实现它的方式。任何与我们对“printf”语句所做的相同的日志记录都不会比那些“printf”语句更好。我们可以做得比今天更好。

特别是(在.NET环境中),性能计数器通常会证明比日志记录更有用。根据操作环境的不同,使用WMI可能更合适。在任何情况下,对结构化数据进行“登录”可能比记录需要解析或其他人阅读的文本要好得多。将问题的上下文“记录”到数据库中的XML列允许在稍后执行复杂的查询以更好地表征发生了什么。

记录速度足以在生产中使用(某种程度上)也可能很重要。在支持它的平台上,.NET允许您使用ETW进行登录,该设备驱动程序使用相同的代码进行登录。如果速度足够快,那么对于您的网站而言,速度可能会很快。

4

你还有什么其他的例外吗?至少它是监视系统问题,查找错误或记录管理有用信息的一种方法。

1

开发时,你永远无法预料到每一个错误。抓住意外的异常,尽可能多地发送它,因为你永远无法在调试器中重现它。

编辑:通过电子邮件发送信息,并在电子邮件未通过时登录文件。这样,如果文件系统已满,您有电子邮件,或者如果邮件服务器已关闭,则您有日志。

1

如果您没有记录错误,警告和调试信息,您将如何知道网站停机时出了什么问题?

这也是监测网站运营“健康”的好方法。

+0

然后有splunk。 – 2010-07-17 02:46:23

0

如果你在谈论log4j或类似的东西,你需要它,因为它比印刷品更好。打印时,它们卡在代码中。使用日志框架,您可以放置​​日志语句并为每个环境配置日志记录。所以你可以在你的开发环境和你的信息/警告/错误中看到你的调试,而不是在另一个环境中的调试,或者你想要的任何东西。

你不需要记录来查看错误 - 异常将显示在某处的堆栈跟踪中。

如果你在谈论的东西比log4j的不同,那么我不明白的问题

1

我想说一个适当的记录系统是维持网站更有帮助后你“完成”开发初期。

正如其他人之前所说的,日志记录系统会不断关注您网站上发生的任何活动,并在出现任何问题时进行跟踪。你可能会说你在编程时从不犯任何错误,但如果某个客户犯了错误怎么办?

我正在担任技术支持角色,所以我可以告诉你,首先出现什么问题,日志文件和日志数据库将首先被检查。

希望这会有所帮助。祝你好运,希望你永远不需要看到日志:)

相关问题