项目中的log输出(QT版)
这种重定向的log输出方法,一般的程序都能hold住,但在多线程并且数据收发速度非常快的socket编程中,会报错,博主能力有限,没找出错误,请高手指正。另本人找到了另一个版本的log网址:https://blog.youkuaiyun.com/vicky_white/article/details/103142113
项目中经常用到log的日志输出,记录下来,省的每次都写。话不多说,直接上代码。
mylog.h文件:
#ifndef MYLOG_H
#define MYLOG_H
void logInit();
#endif // MYLOG_H
mylog.cpp文件:
#include "mylog.h"
#include <QString>
#include <QLoggingCategory>
#include <QIODevice>
#include <QFile>
#include <QDir>
#include <QDebug>
#include <QDateTime>
#include <QMutex>
#include <QApplication>
#include <QRegExp>
static QString logDirectory;
static QString logFileName;
static QMutex mutex;
static QFile file;
static QTextStream textStream;
void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QString text;
switch(type)
{
case QtDebugMsg:
text = QString("[Debug]");
b