glog

//日志级别

enum SeverityLevel

{
  google::INFO = 0,
  google::WARNING = 1,
  google::ERROR = 2,
  google::FATAL = 3,

};

//对应级别的日志打印在对应级别的日志文件中。并且高级别的日志同时打印在本级别和低级别中。例如INFO中会有ERROR级别的输出。


//日志类型

LOG    //内置日志
VLOG    //自定义日志
DLOG    //DEBUG模式可输出的日志
DVLOG    //DEBUG模式可输出的自定义日志
SYSLOG    //系统日志,同时通过 syslog() 函数写入到 /var/log/message 文件
PLOG    //perror风格日志,设置errno状态并输出到日志中
RAW_LOG        //线程安全的日志,需要#include <glog/raw_logging.h>


#include <glog/logging.h>

void SingHandler(const char *data, int size)
{
	FILE * file = fopen("./dump.log","ab");
	fwrite(data,1,size,file);
	fclose(file);
	LOG(ERROR) << data;
}

void fun()
{
	char *c = NULL;
	printf("%c\n", *c);
}
int main(int argc,char**argv)
{
	google::InitGoogleLogging(argv[0]);//传入的程序名字作为日志文件的名字前缀
	FLAGS_log_dir = "./log";//指定的log存储路径必须是程序运行前存在的;FLAGS_log_dir是gflags式变量
//	google::SetLogDestination(google::INFO,"./log/log_info_");
//	google::SetLogDestination(ERROR,"./log/log_error_");
	FLAGS_colorlogtostderr=true;
	LOG(INFO) << "Hello, glog!";
	LOG(WARNING) << "WARNING";
	LOG(ERROR) << "error";

	google::InstallFailureSignalHandler();//可以记录程序core dump的信息(引起的函数)
	google::InstallFailureWriter(&SingHandler);//安装core dump处理的函数

	fun();
	google::ShutdownGoogleLogging();//和InitGoogleLogging()成对出现的,如果没有这个会出现内存泄漏
	return 0;
}

感谢优秀资源1 、优秀资源2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值