QtLog
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的更多相关文章
随机推荐
- java实现 数组中两个元素相加等于指定数的所有组合
package com.algorithm.hash; public class alg1 { public static void main(String argv[]) { int[] arr ...
- lunix tomcat重启脚步
[wlcf@iZbp12oby5qekkz14dlokeZ ~]$ cat restart_tomcat #!/bin/shif [ $# != 1 ] ; then echo "USAGE ...
- 解决在Python中使用Win32api报错的问题,No module named win32api
一.系统环境 操作系统: Win7 64位 Python:3.7.0 二.在使用import win32api时,报错:No module named win32api 网上查到有下面解决办法: 方法 ...
- CSS文本溢出处理
1.超出层的高度和宽度时文本自动隐藏 overflow:hidden;text-overflow:ellipsis; 2.超出层的宽度时隐藏溢出的文本以...表示,Firefox不兼容,只隐藏溢出的文 ...
- python 字符串,元组, 列表,字典之间的转换
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- 关于同时查询父子名称的SQL查询语句的写法 id name parentId parentName .
parentid是1就是id为1的公司的子公司 如图 查询出所有的信息后 由于我要呈现的是parentName 不是parentId所以想问下SQL语句怎么写 谢谢啦~~:) 解法: SELECT s ...
- 使用IneliJ IDEA 2016将Java Web项目导出为War包
本文记录使用IDEA导出war包的过程以及碰到问题的解决办法 虽说现在改用IDEA进行开发了,但还是用eclipse打war包 -.囧 这样下去不是办法... 于是今天就试着使用IDEA进行打包. 项 ...
- vi常用快捷键汇总
第一部分:光标移动.复制粘贴.查找替换 [Ctrl] + [f] 下一页 [Ctrl] + [b] 上一页 0或[home] 到行首 $或[end] 到行尾 G 到最后一行 gg ...
- .net 基元类型,引用类型和值类型
基元类型(primitive type): 编译器直接支持的数据类型称为基元类型(primitive type). string 与 String: 由于C#中的string (一个关键字)直接映射到 ...
- DB2 函数快速构造测试数据
函数快速构造测试数据 [案例]使用DB2内置函数快速构造测试数据 无论您是在用原型证明某一概念,还是开发一个全新的应用程序,或者只是学习 SQL,您都需要在您的应用程序上运行测试数据.为了有效地测试应 ...