Qt文件日志
来源:互联网 发布:淘宝在外国怎么样 编辑:程序博客网 时间:2024/04/29 06:22
#include <QString>
class CFileMessageHandler
{
public:
CFileMessageHandler();
~CFileMessageHandler();
protected:
static void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg);
static QString getFileName();
private:
QtMessageHandler m_holdMsgHandler;
};
#include <QDateTime>
#include <QFile>
#include <QTextStream>
#include <QApplication>
#include <QStandardPaths>
#include <QDir>
CFileMessageHandler::CFileMessageHandler()
{
m_holdMsgHandler = qInstallMessageHandler(CFileMessageHandler::myMessageOutput);
}
CFileMessageHandler::~CFileMessageHandler()
{
qInstallMessageHandler(0);
}
void CFileMessageHandler::myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QString filename = getFileName();
QFile file(filename);
if(file.open(QIODevice::Append))
{
QTextStream stream(&file);
stream << msg;
}
}
QString CFileMessageHandler::getFileName()
{
QString path = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
path += "/log";
QDir dir(path);
if(!dir.exists())
{
dir.mkpath(path);
}
QDateTime datetime = QDateTime::currentDateTime();
QString str = datetime.toString("yyyy_MM_dd");
QString appName = QApplication::applicationDisplayName();
path += "/" + appName + str + ".log";
return path;
}
使用时,只需要在主函数QApplication a(argc, argv);之后定义一个CFileMessageHandler对象即可。
0 0
- Qt文件日志
- Qt输出日志文件
- Qt之日志输出文件
- Qt日志输出到文件
- Qt日志输出至文件
- Qt日志输出至文件
- Qt之日志输出文件
- Qt之日志输出文件
- Qt日志输出至文件
- 实现Qt日志输出到文件
- Qt输出调试日晒日志到文件
- Qt输出调试日晒日志到文件
- Qt下写日志文件的函数
- Qt中简单的日志文件实现
- qt之输出日志到文件中
- qt 日志
- Qt--日志
- 实现Qt日志功能并输出到文件
- 10.lua学习笔记:数据持久化
- Android进程与线程详解
- PhotoShop算法实现--图像错切(二十)
- 桥接模式(Bridge Pattern)
- Java基础知识小结[1]
- Qt文件日志
- hdu 3594 强连通分量加环
- Comparable和Comparator引发的思考
- 成都IBM技术峰会有感
- 修改MyEclipse的workspace
- 圆形矢量场field driven strength效果
- CSS整理
- Android下实现一个Activity的全屏显示
- R语言:多幅图形组合为一幅图形的方法