`
wan_2004
  • 浏览: 140595 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Qt 定制qDebug() 信息到log文件

    博客分类:
  • C++
Qt 
阅读更多

Qt中有qInstallMsgHandler 方法可以去定制消息发生后的回调函数,它回调同时还有qDebug的级别信息。这样我们可以方便把错误消息定制到自己的log文件里面

如下:

#include <QtDebug>
#include <QFile>
#include <QTextStream>
 //回调函数实现debug信息到文件
void customMessageHandler(QtMsgType type, const char *msg)
{
	QString txt;
	switch (type) {
	case QtDebugMsg:
		txt = QString("Debug: %1").arg(msg);
		break;
 
	case QtWarningMsg:
		txt = QString("Warning: %1").arg(msg);
	break;
	case QtCriticalMsg:
		txt = QString("Critical: %1").arg(msg);
	break;
	case QtFatalMsg:
		txt = QString("Fatal: %1").arg(msg);
		abort();
	}
 
	QFile outFile("debug.log");
	outFile.open(QIODevice::WriteOnly | QIODevice::Append);
	QTextStream ts(&outFile);
	ts << txt << endl;
}
 
int main( int argc, char * argv[] )
{
	QApplication app( argc, argv );
 
	//这个方法注册回调函数       
	qInstallMsgHandler(customMessageHandler);	
	...
	return app.exec();
}

 

分享到:
评论

相关推荐

    Qt实现简单的qDebug输出到日志文件

    这样,当调用`qDebug()`时,信息会被写入到指定的`application.log`文件中,而不是输出到控制台。同时,为了保持代码的可读性,建议在`qDebug()`语句中使用`Q_FUNC_INFO`宏,它会自动插入当前函数的名称和行号。 在...

    qt封装的spdlog日志库

    每天自动生成日志,现策略为检测到文件数量超过30个时自动删除之前的文件 循环日志:在单独的文件夹中生成 日志文件存储在固定的文件夹中,每个5mb,最多存储10个,存储满后会向之前的文件中存储日志数据

    qt5版本log4qt

    在Qt5中,尽管可以使用内置的`qDebug()`等宏进行简单的日志输出,但当面临复杂日志管理需求时,如多级别日志、日志过滤、不同输出目的地(如文件、控制台、网络)等,Log4Qt就显得尤为适用。Log4Qt提供了层次结构的...

    Qt log4cpp log4qt

    这些宏会将日志信息输出到控制台,也可以通过设置日志处理器(如`QtMessageHandler`)来重定向到文件或其他目的地。然而,对于复杂的应用,Qt的内置日志系统可能不足以满足需求,这时就需要引入更强大的日志框架。 ...

    qt5 log日志程序

    在Qt5中,日志(Log)是一种记录应用程序运行过程中的事件、错误、警告和调试信息的方法,这对于软件开发和调试至关重要。本文将详细介绍如何在Qt5环境下编写一个简单的log日志程序,以及相关的编程技巧。 首先,让...

    基于Qt环境下开发的日志log打印

    声明:这log类是在Qt开发的,所以需要在Qt环境下才可以使用 在使用QtCreator调试的情况,日志可以在应用程序输出或者读写到指定的路径的txt里面 1.把log.h 和 log.cpp放到程序里进去 2.log_open("./XXX.log") [这一步会...

    Qt 自定义 log 日志

    log4qt 等,但是它们都不能和 qDebug(), qInfo() 等有机的结合在一起,所以在 Qt 中使用总觉得不够舒服,感谢 Qt 提供了 qInstallMessageHandler() 这个函数,使用这个函数可以安装自定义的日志输出处理函数,把日志...

    show2_QT_qtlog_showlog_

    4. **showlog**:在QT中,显示日志信息可以使用QTextEdit或者QPlainTextEdit部件,将日志内容实时添加到这些文本编辑器中,以便用户查看。此外,还可以通过创建自定义的对话框或窗口,专门展示日志信息,以提供更好...

    QDebug 数据重定向

    在Qt开发过程中,调试是必不可少的一个环节,而QDebug作为Qt提供的一个强大调试工具,使得我们能够方便地输出信息,帮助追踪代码执行流程和错误。本篇文章将深入探讨如何利用QDebug进行数据重定向,以满足不同场景下...

    自己实现的Qt日志记录系统

    现在,所有的`qDebug()`等宏输出都会被记录到`log.txt`文件中。 如果还需要将日志输出到Qt界面的控件,例如`QTextEdit`,我们可以利用Qt的反射机制。首先,确保在`LogFileHandler`类中添加一个`QTextEdit*`成员来...

    QT4.8 创建线程及日志定期删除

    qDebug() &lt;&lt; "Deleted old log file:" (); } else { qWarning() &lt;&lt; "Failed to delete log file:" (); } } } } ``` 以上就是使用QT4.8创建线程和实现日志定期删除的基本方法。在实际应用中,你可能需要考虑更...

    Logqt4-demo.zip

    总结,Log4Qt为Qt开发者提供了一个强大的日志管理工具,通过配置文件可以灵活地定制日志的输出方式和内容。在实际应用中,可以根据项目的具体需求进行更复杂的配置,如添加多个日志输出目的地、自定义日志过滤规则等...

    qDebug重写,用于日志打印的重定向

    `qDebug()`是Qt库提供的一种方便的调试输出函数,它允许程序员在代码中插入调试信息,这些信息会在运行时通过标准错误输出(stderr)显示。然而,有时我们需要将这些日志信息重定向到文件或其他地方,以便于后续分析...

    QT实现配置文件设置和日志的存储,包括时间、文件名和时间(VS2019编译环境)

    QT的日志功能通常与`QDebug`类配合使用,它提供了一种向控制台或文件输出调试信息的方式。为了记录程序运行过程中的日志,我们可以创建一个自定义的日志类,该类包含写入日志文件的函数。以下是一个简单的实现: ``...

    Qt移植EasyLogger,实现彩色日志显示完整工程

    在本文中,我们将深入探讨如何将EasyLogger库移植到Qt框架中,并实现彩色日志显示。EasyLogger是一款轻量级、高性能的日志记录库,它提供了丰富的日志级别和简单的API,广泛应用于C++项目中。而Qt则是一个功能强大的...

    qt Debug重定向工具,日志保存

    本文将深入探讨如何使用`qt Debug重定向工具`,以及如何实现将`qdebug()`输出的信息保存到本地TXT文件,以便于后续分析和问题排查。 首先,`qDebug()`是Qt的日志宏,用于在调试模式下打印信息,这些信息通常会显示...

    Qt中第三方日志库Glog的基本配置和使用详解案例.rar

    Qt中第三方日志库Glog的基本配置和使用详解案例,仅供参考,不可盲目相信,因为我的编译环境和您的不相同,所以建议参考文章自己编译,文章可参考:https://blog.csdn.net/didi_ya/article/details/123052672

    QT添加操作日志记录

    通过以上步骤,我们就能在QT项目中实现一个基本的操作日志记录系统,将所有的`qDebug()`输出保存到本地TXT文件。这种方法不仅适用于开发阶段的调试,还可以在生产环境中用于长期的日志监控和分析,帮助开发者快速...

    rDebug_qDebug:为 Qt 4.8 ... 5.x 重新实现 qDebug 的方便、更强大-开源

    喜欢 qDebug? 但是缺少一些东西吗?... 两行可以将带有数据、时间戳、位置和级别的 Qt SIGNAL 发送到您的 QListWidget(或其他任何内容)。 另外两行可以写入文件并使用不同的日志级别过滤。 首先,

    qtloghelp.tar

    qt qdebug 到 log 支持qt4 qt5。 方便使用。支持文件名称路径,大小进行设置 qt qdebug 到 log 支持qt4 qt5。 方便使用。支持文件名称路径,大小进行设置

Global site tag (gtag.js) - Google Analytics