为什么要记日志?为了在某个时候以某种方式对日志进行分析。Tim Bray在《代码之美》的第4章中,用例子说明了如何分析他的Blog的访问日志,找出最受欢迎的10篇文章。
从本质上来说,日志记录了系统中发生的事件。我们应该将重要业务事件的处理记入日志,并通过记录事件ID,保持事件的可追踪性。
例如,在一个filter-pipe架构中,每一条信息都有一个ID,每一个filter对信息的处理(通过或过滤)都记入日志(What)。在需要时,还可以记下过滤的规则(Why)。由于日志会记录时间,我们就可以写一些分析程序/脚本,统计业务事件的发生情况和处理时间。又是5Ws and an H的思想。
在调试时,这种日志明显是有好处的。这是升级版的printf。在运营时,这为系统的审计追踪性提供了帮助。
如果日志输出能够转向,作为另一个应用的输入,那么我们就可以写一个实时日志分析程序了。你猜到了,这是SOA治理的思想。
唯一的担心是性能开销。设计师要根据具体情况做出折衷。
没有评论:
发表评论