我正在开发一个Qt&它现在接近完成。到目前为止,我一直非常依赖QDebug()
在调试时将错误打印出来。但现在我想维护一个日志文件,它将包含用户交互的所有细节。我希望在各个州监控的所有变量的值。这是假设我的用户遇到崩溃然后我会要求他只是将日志文件提交给我,以便我可以理解这个问题。目前我可以想到一种机制,通过该机制,我可以在所有类中维护日志文件的引用(有很多!)&最后只追加QString
。但我认为这可能不是线程安全的,而且维护文件会非常繁琐。我想知道Qt中是否已经有任何内置功能,我可以通过它来为它提供我的字符串&它会自动维护一个文件吗?
谢谢。
答案 0 :(得分:2)
QDebug本身可以写入日志文件。
只要开发人员需要向设备,文件,字符串或控制台写出调试或跟踪信息,就会使用QDebug。
启动时,将qt消息处理程序设置为qInstallMsgHandler()。
在消息处理程序中,要写入文件,您可以使用使用下面的构造函数创建的QDebug对象。将它传递给QFile。
QDebug :: QDebug(QIODevice * device)