Qt Qdebug 实现重定向到文件
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
#include <QtCore/QFile>
#include <QtCore/QTextStream>
// 自定义消息处理函数
void myMessageHandler(QtMsgType type, const char* msg)
{
// 打开输出文件
QFile file("debug.log");
if (file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {
QTextStream stream(&file);
// 设置消息格式
QString message;
switch (type) {
case QtDebugMsg:
message = QString("[Debug] ");
break;
case QtWarningMsg:
message = QString("[Warning] ");
break;
case QtCriticalMsg:
message = QString("[Critical] ");
break;
case QtFatalMsg:
message = QString("[Fatal] ");
break;
default:
break;
}
// 输出消息到文件
stream << message << msg << endl;
// 关闭文件
file.close();
}
}
int main(int argc, char* argv[])
{
QCoreApplication app(argc, argv);
// 设置自定义消息处理函数
qInstallMsgHandler(myMessageHandler);
// 示例使用QDebug输出
qDebug() << "This is a debug message.";
qWarning() << "This is a warning message.";
qCritical() << "This is a critical message.";
return app.exec();
}
/home/tronlong/workSpace/POCT-plugin/poct/poctclient.cpp:70: error: 'qInstallMessageHandler' was not declared in this scope
qInstallMsgHandler
#include <QtCore/QDebug>
#include <QtCore/QFile>
#include <QtCore/QTextStream>
// 自定义消息处理函数
void myMessageHandler(QtMsgType type, const char* msg)
{
// 打开输出文件
QFile file("debug.log");
if (file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {
QTextStream stream(&file);
// 设置消息格式
QString message;
switch (type) {
case QtDebugMsg:
message = QString("[Debug] ");
break;
case QtWarningMsg:
message = QString("[Warning] ");
break;
case QtCriticalMsg:
message = QString("[Critical] ");
break;
case QtFatalMsg:
message = QString("[Fatal] ");
break;
default:
break;
}
// 输出消息到文件
stream << message << msg << endl;
// 关闭文件
file.close();
}
}
int main(int argc, char* argv[])
{
QCoreApplication app(argc, argv);
// 设置自定义消息处理函数
qInstallMsgHandler(myMessageHandler);
// 示例使用QDebug输出
qDebug() << "This is a debug message.";
qWarning() << "This is a warning message.";
qCritical() << "This is a critical message.";
return app.exec();
}
/home/tronlong/workSpace/POCT-plugin/poct/poctclient.cpp:70: error: 'qInstallMessageHandler' was not declared in this scope
qInstallMsgHandler
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构