Qgis开发17-日志
来源:互联网 发布:电脑没网怎么查mac地址 编辑:程序博客网 时间:2024/05/07 03:34
Qgis开发-日志
sf2gis@163.com
2014年10月18日
1 概述
QGIS内部实现一个日志系统,用于输出调试信息。
但是其调试输出到文件时,只能输出单个文件。这里将强化输出到文件的功能,实现输出到卷动文件。
2 原理
QGIS使用QT的qInstallMsgHandler()函数注册qDebug相关的回调函数来实现日志功能。当调用相关的调试函数时,就执行回调函数。回调函数设置相应的输出位置,输出调试信息。
#ifQT_VERSION>=0x050000
qInstallMessageHandler(gutang::logging::myHandler);
#else
qInstallMsgHandler(gutang::logging::myHandler);
#endif
3 方法
1) 信息输出:定义宏QGISDEBUG后,就可以使用QgsDebugMsg(str)输出调试信息。此宏在QGIS的编译信息中定义。使用时总是输出。
2) 定制或屏蔽信息输出:定义环境变量QGIS_DEBUG_FILE,此变量定义输出调试信息的文件,如果不定义或者定义了空值,则全部文件都输出调试信息。如果想要定制调试信息,则此处输入定制文件名称,如果要屏蔽信息,则输入一个不存在文件名。
3) 信息输出位置:默认输出到std::out。定义环境变量QGIS_LOG_FILE后,输出到指定的文件。 但是此文件必须先生成,否则首次使用时会报错。
4) 自定义信息输出:自定义相应的调试回调函数并注册,之后就可以把相关的信息输出自定义的位置。
#ifQT_VERSION>=0x050000
qInstallMessageHandler(gutang::logging::myHandler);
#else
qInstallMsgHandler(gutang::logging::myHandler);
#endif
qDebug("mylllll");//output to custom position
参见:..\..\CPP\日志库log.docx中QT logging部分。
4 实现
参考:QgsLogger.h/cpp
- Qgis开发17-日志
- Qgis开发1:总则
- qgis 插件开发
- QGIS python开发手册
- Qgis开发2-工程组织
- Qgis开发8-显示GUI
- Qgis开发10-缓冲区分析
- python开发qgis插件之一
- qgis
- 在QGIS下开发python插件
- Qgis开发4-地图交互工具
- Qgis开发6-临时图形-QgsRubberBand
- Qgis开发9-显示当前鼠标坐标
- Qgis开发11-地理实体抽象
- Qgis开发12-读取矢量元素
- Qgis开发13-矢量空间分析
- Qgis开发15-自定义地图工具
- qgis二次开发之开发环境搭建
- ldconfig是一个动态链接库管理命令
- 从北京春运购票看公众交通票价调整
- linux sfolw 监控
- JPA的配置文件persistence.xml参数详解
- 四轴飞行器实践教程1.1.2飞行器的发展
- Qgis开发17-日志
- Custom Action in Visual Studio setup projects (解决C#安装程序安装第三方DLL的问题)
- 码流记录
- 怎样选择PHP的版本
- Hadoop群集与关系数据库RDBMS之间的协同工作
- cocos2d-x的两种触摸事件
- Qgis相关类参考
- java程序和web项目程序中相对路径的使用
- DescriptionResourcePathLocationType The value of attribute "schema" associated with an element t