Linux下的代码淬火技术(4) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
http://www.sina.com.cn 2006年08月30日 09:25 IT168.com | |||||||||||
5.错误报告 对于错误报告而言,根据开发的应用类型的不同,需要采取不同的处理方法。例如,如果开发的是命令行工具的话,常用的方法是通过把错误消息递给stderr来告知用用户出错情况。如果开发的是诸如嵌入式Linux应用之类的具有I/O能力的应用程序的话,错误报告的形式就多了,比如专门的日志或标准系统日志(syslog)。其中,syslog函数的原型如下所示:
对于syslog函数,我们需要提供优先级、格式化字符串等参数。它的用法类似于printf函数。优先级可以从这里选择一个:LOG_EMERG、 LOG_ALERT、LOG_CRIT、LOG_ERR、LOG_WARNING、LOG_NOTICE、LOG_INFO或者 LOG_DEBUG。 下面以实例说明如何使用syslog函数为系统日志生成一个消息:
程序执行后,位于 /var/log/_messages的系统日志更新如下:
本例中,test是上面列出的程序名,Ian是主机名。系统日志的好处是可以记录许多的错误报告。凭借它,开发人员能够了解消息在哪里生成的、哪一个能够帮助理解问题等等。对于系统应用和守护进程来说,syslog的格外有用。 除此之外,错误报告还有一个注意事项,那就是报告的错误一定要具体。为了能够让用户恰当的处理发生的错误,错误消息一定要唯一的标识出错误来。错误消息本身不能模棱两可,或者具有歧义性。
|