QtLog

#include "mainwindow.h"
#include <QApplication>
#include <QByteArray>
#include <QDebug> #define LOG_FILE_PATH "D:\\QtLog\\log.txt"
static FILE* g_log_fp=;
static void closLogFile(){
fclose(g_log_fp);//main函数退出关闭日志文档 }
static void myMessageOutPut(QtMsgType type,const QMessageLogContext &contex,const QString &msg){
QByteArray localMsg=msg.toLocal8Bit();
switch (type) {
case QtDebugMsg:
fprintf(g_log_fp,"Debug :%s(%s:%u,%s)\n",localMsg.constData(),contex.file,contex.line,contex.function); break;
case QtWarningMsg:
fprintf(g_log_fp,"Waring :%s(%s:%u,%s)\n",localMsg.constData(),contex.file,contex.line,contex.function); break;
case QtCriticalMsg:
fprintf(g_log_fp,"Critical :%s(%s:%u,%s)\n",localMsg.constData(),contex.file,contex.line,contex.function); break;
case QtFatalMsg:
fprintf(g_log_fp,"Fatal :%s(%s:%u,%s)\n",localMsg.constData(),contex.file,contex.line,contex.function);
abort();// 致命错误,程序停止退出
break; default:
break;
} }
int main(int argc, char *argv[])
{ g_log_fp=fopen(LOG_FILE_PATH,"wt");
atexit(closLogFile);//程序结束执行关闭文件
qInstallMessageHandler(myMessageOutPut);
QApplication a(argc, argv);
// MainWindow w;
// w.show(); qDebug()<<"I am debug;";
qWarning()<<"I am waring";
qCritical()<<"I am critical";
qFatal("I am fatal"); return a.exec();
}

http://blog.csdn.net/leejore11/article/details/46837185

QtLog的更多相关文章

随机推荐

  1. shelve和hashlib模块

    一.shelve模块 shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. 注意: shelve模块封装了pickle模块,,允许 ...

  2. 管理授权&管理决策&管理组织&管理目标

    [管理授权] 1.如果一个管理者不明白为公司培养人的责任,就很可能成为公司的瓶颈.这个问题的解决在于让管理者学会“授权”,把大部分自己紧抓不放的事情下放给部门内其他人做. 2.为一件事负责和亲自做是两 ...

  3. 【HDU4970】Killing Monsters

    题意 数轴上有n个点,有m座炮塔,每个炮塔有一个攻击范围和伤害,有k个怪物,给出他们的初始位置和血量,问最后有多少怪物能活着到达n点.n<=100000 分析 对于某个怪物,什么情况下它可以活着 ...

  4. Codeforces 1109C 线段树

    题意及思路:https://www.cnblogs.com/TinyWong/p/10400682.html 代码: #include <bits/stdc++.h> #define ls ...

  5. CMakefile for Cross-Platform Compling - 1

    cmake可以自动侦测目标系统,通常编译时候包含的文件和链接的库都不是本地的文件. Demo #toolchain cmake file SET(CMAKE_SYSTEM_NAME Linux) SE ...

  6. maven构建非法字符解决办法

    CI使用maven做版本构建时候碰到了一个问题,有个java源码始终编译报错,错误发生在文件第一行. 出错内容是: ***.java:[1,1] 非法字符: \65279 后面上网看了,原来是文件编码 ...

  7. WCF把书读薄(3)——数据契约、消息契约与错误契约

    上一篇:WCF把书读薄(2)——消息交换.服务实例.会话与并发 十二.数据契约 在实际应用当中数据不可能仅仅是以int Add(int num1, int num2)这种简单的几个int的方式进行传输 ...

  8. Machine Learning and Data Mining(机器学习与数据挖掘)

    Problems[show] Classification Clustering Regression Anomaly detection Association rules Reinforcemen ...

  9. 四则运算(Java) 陈志海 邓宇

    目录 Github项目地址 PSP表格 功能要求 题目 功能(已全部实现) 效能分析 设计实现过程 数值生成 算式生成 问题集生成 设计实现过程 代码说明 测试运行 代码覆盖率 项目小结 Github ...

  10. android Base64字符串与Bitmap相互转换

    /** * 将bitmap转换成base64字符串 * * @param bitmap * @return base64 字符串 */ public String bitmaptoString(Bit ...