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

相关推荐
编程阿峰18 分钟前
Python 环境配置(二)安装jupyter、matplotlib、numpy库
开发语言·python·jupyter·numpy·matplotlib
磁爆步兵39 分钟前
内存分区:程序运行的核心秘密
java·开发语言·jvm
此生决int1 小时前
深入理解C++系列(06)——模版初阶与STL
开发语言·c++
swany1 小时前
同步数据中,只需要几秒钟 & milvus向量数据库不可用 dify1.16.1 升级后踩坑记录
开发语言·python·numpy
小杍随笔2 小时前
2025年Rust GUI框架实战万字避坑指南
开发语言·后端·rust
geovindu2 小时前
CSharp: LogHelper
开发语言·后端·c#·.net
奈斯先生Vector2 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-20 打印九九口诀表(C语言实现)
c语言·开发语言·数据结构·算法
Richard.Wong2 小时前
qt生成dll供C#调用
开发语言·qt
wang_xin_8883 小时前
PHP函数
开发语言·php