为什么在开发网站时使用日志系统很重要

时间:2010-07-17 02:37:53

标签: logging

你用它做什么?怎么样?等等(我刚刚开始阅读High Scalability。)

6 个答案:

答案 0 :(得分:4)

你怎么会发现任何例外?至少它是一种监视系统问题,定位错误或记录管理有用信息的方法。

答案 1 :(得分:2)

这部分取决于您使用的平台。例如,如果您使用的是ASP.NET,那么内置的ASP.NET Health Monitoring已经为您记录了未捕获的异常 - 您无需做任何事情。

我同意应注意您网站生命周期中的重点。我不同意传统的文本记录是实现它的方法。任何与“printf”语句相同的日志记录都不比那些“printf”语句好。我们今天可以做得更好。

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

记录速度足以在生产中使用(在某种程度上)也很重要。在支持它的平台上,.NET允许您使用ETW进行日志记录,这与设备驱动程序用于记录的代码相同。如果它对他们来说足够快,那么对你的网站来说,它的速度就足够快了。

答案 2 :(得分:1)

开发时你永远不会预料到每一个错误。捕获意外异常,尽可能多地发送详细信息,因为您永远无法在调试器中重现它。

编辑:在电子邮件中发送信息,并在电子邮件未通过时记录到文件。这样,如果文件系统已满,您就会收到一封电子邮件;如果邮件服务器已关闭,则您有一个日志。

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

我想说一个正确的日志记录系统对于“完成”初始开发后维护网站更有帮助。

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

我是一名技术支持人员,所以我可以告诉你,第一件事就是出现问题,日志文件和日志数据库将是第一件需要检查的事情。

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

答案 5 :(得分:0)

如果你在谈论log4j或类似的东西,你需要它,因为它比打印更好。对于打印,它们会卡在您的代码中。使用日志记录框架,您可以放置​​日志记录语句并为每个环境配置日志记录。因此,您可以在开发环境和信息/警告/错误中看到您的调试,但不能在其他环境或任何您想要的任何内容中查看调试。

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

如果你在讨论与log4j不同的东西,那么我不明白这个问题