qt creator 将qInfo的输出日志写入日志文档,方便查看

第一步:定义一个静态函数:

复制代码
static void initLogHandler();

第二步:实现:

复制代码
void Server::initLogHandler()
{
    qInstallMessageHandler(customLogOutput);
}

customLogOutput :

复制代码
static void customLogOutput(QtMsgType type, const QMessageLogContext &ctx, const QString &msg)
{
    QFile logFile("server_log.txt");
    if (!logFile.open(QIODevice::Append | QIODevice::Text))
        return;

    QTextStream stream(&logFile);
    QString timeStr = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss");
    QString level;
    switch (type)
    {
    case QtDebugMsg:    level = "DEBUG"; break;
    case QtInfoMsg:     level = "INFO"; break;
    case QtWarningMsg:  level = "WARN"; break;
    case QtCriticalMsg: level = "ERROR"; break;
    default: level = "OTHER";
    }
    stream << QString("[%1][%2] %3\n").arg(timeStr, level, msg);
    logFile.close();
}

第三步,调用

复制代码
Server::initLogHandler(); // 初始化日志

第四部,查看结果:

在执行文件当前目录可以找到日志文件 server_log.txt

相关推荐
hssfscv2 小时前
QT的学习记录1
开发语言·qt·学习
SunnyDays10112 小时前
Python操作Excel批注:从基础添加到高级自定义的完整指南
开发语言·python·excel
Yyyyyy~2 小时前
【C++】数组篇
开发语言·c++
牛肉在哪里2 小时前
ros2 从零开始27 编写广播C++
开发语言·c++·机器人
yong99903 小时前
基于Qt的文件传输系统
开发语言·qt
yuan199973 小时前
基于 MATLAB PSO 工具箱的函数寻优算法
开发语言·算法·matlab
誰能久伴不乏3 小时前
ibmodbus “Invalid argument“ 错误的排查与修复
c++·qt·modbus
handler013 小时前
【C++】二叉搜索树详解及其模拟实现(代码)
开发语言·c++·算法·c··二叉搜索树·搜索树
luj_17683 小时前
残熵算法的稳健防灾逻辑
c语言·开发语言·c++·经验分享·算法