关于日志系统的一些看法

一个软件中,日志是我们跟踪软件运行状态不可缺少的工具。现在有许多开源日志系统供我们使用。我想从日志的输出方式中谈一下自己的看法。

1.GUI输出
比如Windows下的dbgview,或者自己写的一个GUI窗口输出,都算在这个类别下。
好处:直观,能实时观察软件内部的运行状态。
缺点:窗口系统占用一定的系统资源。

2.Console输出
一般情况下,用重定向的方式进行控制台输出也是很多软件系统的日志选择。但是如果是在Windows的GUI下,这个控制台输出实质仍是GUI模拟的一个窗口。
好处:同GUI。
缺点:浏览范围受限。

3.系统的事件查看器
多数Windows平台的开发者都会想到这个。而且系统事件查看器还会记录更低级的程序异常行为。
好处:功能强大,能在OS级别提供异常的详细信息。
缺点:移植性较差。若要移植,需要作额外的工作或使用第三方的开源工具。

4.网络输出
通过网络把日志信息传递给远端计算机。著名的日志系统Log4J以及它的其他兄弟如Log4cpp都支持这种模式。
好处:几乎是远程实时调试的唯一选择。
缺点:网络本身的延迟,会严重影响程序的运行速度,甚至程序行为。注意这里“速度”和“行为”的差异。

5.文件输出
众多日志系统支持的一个基本输出方式。产生标准格式的文件(如文本、html、xml等),方便开发者阅读。Linux/Unix系统的很多服务端程序和驱动程序都是采用这种方式。
好处:在不方便实时调试的时候,能完整记录程序的行为、状态,系统开销较小,兼容性、移植性很好。
缺点:当然是不能用在实时调试上了。

所以,在不同的项目中,对日志输出方式的取舍是不同的,需要开发人员自己定夺。不能简单的说谁优于谁。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值