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

相关推荐
IT笔记31 分钟前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
逝水无殇1 小时前
C# 运算符重载详解
开发语言·后端·c#
TPBoreas1 小时前
配置信息防泄露方案:.env 环境隔离详解(dotenv-java)
java·开发语言
敲代码的嘎仔2 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
江华森2 小时前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
杜子不疼.2 小时前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
老迟到的茉莉3 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
学逆向的3 小时前
汇编——内存
开发语言·汇编·算法·网络安全
lbb 小魔仙4 小时前
MuMu 模拟器 6.0 硬核测评:这次升级确实不一样
java·开发语言·模拟器·mumu·硬核测评
r_oo_ki_e_4 小时前
Java 线程池
java·开发语言