当我们怀疑某段程序可能正在产生意外的结果时,可以在这段程序内埋入一个函数,这个函数捕获当前服务器和进程的信息,并以电子邮件的形式发送出去。这样,我们就可以在错误发生时最大限度的保存现场,用于调试,而不必全天候的监控它。
这种方式尤其适用于公众服务。当用户触发异常时,程序员可以迅速得到当时的状态信息。利用这些信息,就很有可能重现bug(不可重现的事件并不能称之为bug),减轻程序员的精神负担。
在编程的时候也要注意,分支语句一定要覆盖逻辑树上所有的节点,哪怕我们坚信这个分支在地球上是不存在的,比如性别既不是男也不是女。对于不可思议的分支,就可以埋个发信函数,以便产生异常时尽快补救。
感觉跟本地日志比没什么优势呢? 能不能具体说说好在哪里..
速度先不说
信件收到之后的管理 不像日志一般有统一的分级管理机制
需要网络支持无法单机(发给自己? 那和本地日志更像了)
脱离现有平台的日志系统单独去开发
… @.@
赞赞
1、在很多公司,研发和运营是有各自的工作范围的,开发人员不能随意登录运行中的服务器,只在升级时与运营人员共同进行。
2、如果日志需要分级管理,那还是建议用数据库存储,开发专门的日志分析平台。我们只是简单的把日志发送到一个Gmail邮箱,利用它的标签和搜索功能,已经能够胜任一般的需求了。
3、开发起来非常非常的简单。
赞赞
明白一些了 还是我考虑的窄了 恩.. 🙂
ps. gmail的标签真是很方便
赞赞
恩,经常用log4j的那个SMTPAppender,很爽~
赞赞