qDebug 自定义输出信息到文件
自定义log输出信息
void myMessageOutput(QtMsgType type, const QMessageLogContext& context, const QString& msg)
{
QString logText;
// 选择日志级别,并构造日志文本
switch (type) {
case QtDebugMsg:
logText = QString("Debug: %1").arg(msg);
break;
case QtInfoMsg:
logText = QString("Info: %1").arg(msg);
break;
case QtWarningMsg:
logText = QString("Warning: %1").arg(msg);
break;
case QtCriticalMsg:
logText = QString("Critical: %1").arg(msg);
break;
case QtFatalMsg:
logText = QString("Fatal: %1").arg(msg);
break;
default:
break;
}
// 写入日志文件
QFile logFile("./logs/debug.txt");
logFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text);
QTextStream textStream(&logFile);
textStream << logText << endl;
logFile.close();
}
使用
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qInstallMessageHandler(myMessageOutput);
return a.exec();
}
这样之后在使用qDebug打印日志时,日志信息会写到该文件里 ./logs/debug.txt