关闭

glog的简单应用

标签: glog简单使用
534人阅读 评论(0) 收藏 举报
分类:

今天在MFC环境下应用了一下glog,下面写一下使用过程(开发环境VS2008):

1.创建工程后,将编译好的libglog.dll和libglog.lib以及src/windows目录下的文件拷贝到工程目录下

2.添加头文件,并引入库文件,为了防止和<windows.h>中的ERROR定义冲突,加入宏定义GLOG_NO_ABBREVIATED_SEVERITIES如下:

#define GLOG_NO_ABBREVIATED_SEVERITIES

#include "glog/logging.h"

#pragma comment(lib,"libglog.lib")

3.模块初始化:

//初始化glog模块,参数用""即可
google::InitGoogleLogging("");

//设置各个严重性级别的输出目录以及文件名前缀
google::SetLogDestination(google::GLOG_INFO, "./tmp/info_"); 
google::SetLogDestination(google::GLOG_WARNING, "./tmp/warning_");  
google::SetLogDestination(google::GLOG_ERROR, "./tmp/error_");  
google::SetLogDestination(google::GLOG_FATAL, "./tmp/fatal_");  
FLAGS_logbufsecs=0;   //日志实时输出
FLAGS_max_log_size=10;  //最大文件日志大小


上段代码我放在了对话框的OnInitDialog()函数中,当然也可以放在其他初始化函数中。

初始化日志模块的一些其他参数可以参考源码,logging.h中321-361行。


3.在需要的地方输出日志

LOG(INFO)<<"INFO错误";


4.在debug模式下编译出错:#error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]解决方法可以在stdafx.h中加入如下代码:

#ifdef _DEBUG
#define _AFXDLL
#endif

就是不知道加上这样的宏定义后会有什么影响


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7832次
    • 积分:221
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类