gpt4 book ai didi

c++ - 如何将调试信息保存到 qt 中的特定文件中?

转载 作者:行者123 更新时间:2023-11-28 02:40:56 25 4
gpt4 key购买 nike

我想知道如何将调试信息保存到名为“LogFile-YYYYMMDDHHMMSS”的文件中。我正在使用这样的公式:

QString dt = QDateTime::currentDateTime().toString("dd/MM/yyyy hh:mm:ss");
QString txt = QString("[%1] ").arg(dt);

switch (type)
{
case QtDebugMsg:
txt += QString("{Debug} \t\t %1").arg(msg);
break;
case QtWarningMsg:
txt += QString("{Warning} \t %1").arg(msg);
break;
case QtCriticalMsg:
txt += QString("{Critical} \t %1").arg(msg);
break;
case QtFatalMsg:
txt += QString("{Fatal} \t\t %1").arg(msg);
abort();
break;
}

QFile outFile( QString("LogFile.log");
outFile.open(QIODevice::WriteOnly | QIODevice::Append);

QTextStream textStream(&outFile);
textStream << txt << endl;

最佳答案

试试这个:

QString dt = "LogFile";
dt += QDateTime::currentDateTime().toString("dd/MM/yyyy hh:mm:ss");
dt.remove("/");
dt.remove(":");
dt += ".log";
QFile outFile( dt );
utFile.open(QIODevice::WriteOnly | QIODevice::Append);

QTextStream textStream(&outFile);
textStream <<"test";
outFile.close();

你应该删除这个符号,因为操作系统禁止在文件路径中使用这个符号,你的文件将不会被保存。

或者使用更简单的方法:

QString dt = "LogFile";
dt += QDateTime::currentDateTime().toString("ddMMyyyy hhmmss");
dt += ".log";

关于c++ - 如何将调试信息保存到 qt 中的特定文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26022828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com