- 引言
在应用程序当中添加日志代码,让开发者在应用出错的时候,通过应用日志快速定位问题所在。但是开发自己的日志类需要耗费时间,使用现成的日志类又需要时间熟悉使用方法。 - 解决方案
Qt5.0可以通过调用qInstallMessageHandler来自定义日志处理函数,从而达到记录日志的目的。函数签名如下:
QtMessageHandler qInstallMessageHandler(QtMessageHandler handler)
其中handler为新的日志处理函数,函数返回值为之前日志处理函数的指针,调用qInstallMessageHandler(0)来恢复默认日志处理函数。 示例代码
FILE* logFile = 0;
void logMessageHandler(QtMsgType type, const QMessageLogContext& ctxt, const QString& msg)
{
QString file = ctxt.file;
QString path = QString(FILE);
path = path.left(path.lastIndexOf(‘/’) + 1);
if (file.startsWith(path))
{
file = file.mid(path.length());
}
QTime time = QDateTime::currentDateTime().toUTC().time();
QString LogMsg = QString(“[%1 UTC] %2:%3 : “).arg(time.toString(“HH:mm:ss.zzz”)).arg(file).arg(ctxt.line);
switch
Qt记录应用日志
最新推荐文章于 2024-05-14 23:09:12 发布