我想了解日志库的基础知识。
glog
)用于记录目的的目的是什么?
我对记录的理解是否正确,还是需要更改?
有人能举例说明使用日志库的重要性吗?答案 0 :(得分:12)
在执行应用程序期间记录信息可以帮助您了解导致错误或崩溃的原因,为您提供比从崩溃报告,调用堆栈甚至小型转储获得的更多上下文。当您从不是开发人员并且未在调试器下运行的人那里获得错误或崩溃报告时,这一点尤为重要,无论是最终用户/客户还是团队中的非开发人员。
我的背景是游戏,由于一些原因,日志记录对游戏特别有价值。一个是许多问题可能与系统硬件的细节有关,因此记录用户拥有的GPU类型,运行的图形驱动程序版本等信息对于调试仅出现在问题上的问题至关重要。具体配置。另一个是游戏具有模拟方面,其中游戏的状态随着时间的推移而演变,以响应用户输入以及诸如物理,AI和游戏规则之类的模拟。了解在崩溃或错误发生时发生的事情有助于弄清楚如何重现它并为问题的根本原因提供有价值的线索。
日志库添加了对日志记录有用的功能,并且超出了简单printf的功能。这包括:
至于如何使用日志库,这在某种程度上取决于您的应用程序,但这里有一些一般性的建议:
答案 1 :(得分:2)
许多程序使用某种日志记录,即使代码相对简单,每次重新发明轮子也没什么意义。
其他库也可以使用日志库,因此您无需为项目中包含的每个库配置日志文件,只需配置一个日志库即可。这也意味着可以通过替换一个库而不必替换多个库来修复日志代码中可能出现的任何错误。
最后,它使代码更容易为其他开发人员阅读,因为他们不必弄清楚如何实现自定义日志记录。