TSI_Config/common.cpp

44 lines
1.5 KiB
C++
Raw Normal View History

2025-03-09 11:53:05 +08:00
#include "common.h"
#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QDebug>
#include <QDateTime>
Common::Common() {}
void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
// 获取当前日期,并以 "yyyy-MM-dd" 格式创建文件名
QString date = QDateTime::currentDateTime().toString("yyyy-MM-dd");
QString logFileName = QCoreApplication::applicationDirPath() + "\\log\\" + date + ".log"; // 日志文件名为当前日期的日志文件
QFile logFile(logFileName); // 使用日期命名的日志文件
if (logFile.size() > 1024 * 1024 * 10) { // 文件超过 10MB
logFile.rename("app_old.log"); // 重命名日志文件
logFile.setFileName(logFileName); // 创建新文件
}
if (logFile.open(QIODevice::Append | QIODevice::Text)) {
QTextStream out(&logFile);
// 根据日志类型格式化日志
QString logMessage;
switch (type) {
case QtDebugMsg:
logMessage = QString("DEBUG: %1").arg(msg);
break;
case QtWarningMsg:
logMessage = QString("WARNING: %1").arg(msg);
break;
case QtCriticalMsg:
logMessage = QString("CRITICAL: %1").arg(msg);
break;
case QtFatalMsg:
logMessage = QString("FATAL: %1").arg(msg);
break;
}
// 添加时间戳和日志消息
out << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") << " " << logMessage << "\n";
}
}