#include "logtextedit.h"
LogTextEdit::LogTextEdit(QWidget *parent)
{
connect(MsgHandlerWapper::instance(), SIGNAL(message(QtMsgType,QMessageLogContext ,QString)), SLOT(outputMessage(QtMsgType,QMessageLogContext ,QString)));
// setLogFileDevice(filepath); //如果自定义文件路径则不需要构造调用
}
LogTextEdit::~LogTextEdit()
{
logFile.flush();
logFile.close();
gOutStream.flush();
}
void LogTextEdit::outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QByteArray localMsg = msg.toLocal8Bit();
QString text;
switch (type)
{
case QtDebugMsg:
//组包数据
text = QString::fromLocal8Bit("Debug: %1 (%2:%3, %4)\n").arg(QString::fromLocal8Bit(localMsg.constData())).arg(context.file).arg(context.line).arg(context.function);
break;
case QtInfoMsg:
text = QString::fromLocal8Bit("Info: %1 (%2:%3, %4)\n").arg(QString::fromLocal8Bit(localMsg.constData())).arg(context.file).arg(context.line).arg(context.function);
break;
case QtWarningMsg:
text = QString::fromLocal8Bit("Warning: %1 (%2:%3, %4)\n").arg(QString::fromLocal8Bit(localMsg.constData())).arg(context.file).arg(context.line).arg(context.function);
break;
case QtCriticalMsg:
text = QString::fromLocal8Bit("Critical: %1 (%2:%3, %4)\n").arg(QString::fromLocal8Bit(localMsg.constData())).arg(context.file).arg(context.line).arg(context.function);
break;
case QtFatalMsg:
text = QString::fromLocal8Bit("Fatal: %1 (%2:%3, %4)\n").arg(QString::fromLocal8Bit(localMsg.constData())).arg(context.file).arg(context.line).arg(context.function);
break;
default:
text = QString::fromLocal8Bit("Default: %1 (%2:%3, %4)\n").arg(QString::fromLocal8Bit(localMsg.constData())).arg(context.file).arg(context.line).arg(context.function);
break;
}
//组包数据,将数据输出
gOutStream << QDateTime::currentDateTime().toString("[yyyy-MM-dd hh.mm.ss]\t") + text; //输出到txt文件
gOutStream .flush(); //刷新缓冲区
}
void LogTextEdit::setLogFileDevice(const QString &filePath)
{
logFile.setFileName(filePath);
if(!logFile.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
{
return;
}
else
{
//设置文件输出流设备
gOutStream.setDevice(&logFile);
}
}
等待ii
- 粉丝: 0
- 资源: 1
最新资源
- 基于C语言的嵌入式软件定时器详细文档+全部资料+高分项目+源码.zip
- 基于ffmpeg的直播推流器,超级稳定,经过长时间稳定性测试,超低延时,可用于手机,电视,嵌入式等直播App及设备。详细文档+全部资料+高分项目+源码.zip
- 基于DCT算法的水印嵌入和提取的移动智能终端数字图像证据系统详细文档+全部资料+高分项目+源码.zip
- 基于FPGA的DDR1控制器,为低端FPGA嵌入式系统提供廉价、大容量的存储详细文档+全部资料+高分项目+源码.zip
- 基于FreeRTOS开发的嵌入式开发框架详细文档+全部资料+高分项目+源码.zip
- 基于FMCW雷达的多天线定位系统详细文档+全部资料+高分项目+源码.zip
- 基于FriendlyARM6410平台的嵌入式Qt程序:实时天气信息,远程vnc控制,远程监视摄像头,语音控制,语音输出TTS详细文档+全部资料+高分项目+源码.zip
- 基于FSMPSTem32的嵌入式音乐播放器、实训作业详细文档+全部资料+高分项目+源码.zip
- 基于GEC6818嵌入式大作业详细文档+全部资料+高分项目+源码.zip
- 基于jetty嵌入式容器的java性能分析工具,内嵌H2 database,以图表形式直观展现应用当前性能数据详细文档+全部资料+高分项目+源码.zip
- 基于jq开发的数学公式插件,可随意嵌入web中详细文档+全部资料+高分项目+源码.zip
- 基于Linux系统的应用程序,旨在搭建一套完整的多进程多线程通讯的消息框架. 支持多SOC的嵌入式APP详细文档+全部资料+高分项目+源码.zip
- 基于mplayer的嵌入式音视频播放器详细文档+全部资料+高分项目+源码.zip
- 基于LSM-Tree的嵌入式数据库详细文档+全部资料+高分项目+源码.zip
- 基于liunx下的一个QT程序,KTV点歌系统嵌入式设备详细文档+全部资料+高分项目+源码.zip
- 基于MySQL的嵌入式Linux智慧农业采集控制系统详细文档+全部资料+高分项目+源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0