嵌入式C/C++开发过程中日志输出的一点思考
在开发过程中,需要经常输出日志以协助调试和分析问题,一个良好的日志输出能够快速的帮助我们定位和分析问题。在一些linux平台嵌入式开发过程中,开发过程中对单步调试支持的并不好,它的调试很大一部分是借助于日志来完成。对最近一段时间嵌入式开发的反思与总结,个人感觉,日志输出时尽量做到以下几点:
1、个人认为可以把日志内容分为:定位日志和错误报告日志,除此两者之外的其他调试日志内容在调试完毕提交代码的时候就要删除掉,这样可以减少无关日志的输出,便于查看日志内容和定位问题,同时也可以减少多余的代码量,增加代码的清晰度,便于维护代码。
一些多余的调试日志例如代码段1所示,对于一些不方便单步调试的开发,其单步调试主要借助日志来完成,因此这样的日志输出会更多。
代码段4void _DisplayLog(char* pMsg/*IN*/){ if(g_bUseLog && NULL != pMsg) { printf("[test.cpp]: "); printf("%s",pMsg); printf("\n"); }}3、日志文件应该可以开关,即不需要修改代码和重新编译就能打开或关闭日志的输出,这一点可以通过定义一个开关变量来实现,在自定义日志输出函数中根据该开关来决定是否进行日志输出,如代码段4中所示。