glog 谷歌日志使用

1.设置日志文件扩展名

//添加.log扩展名
google::SetLogFilenameExtension(".log");

2.修改日志文件命名格式

  • 方法一:修改glog源码,自定义文件命名格式。

      自定义logging.cc内time_pid_stream输入,重新编译即可。下例生成20240314_134809.log日志文件。

  • 方法二:不更改源码库,但只能修改日志文件前缀:

//定义日志文件路径
std::string log_info_path = "../data/logs/info/";

//自定义文件名前缀Test  
std::string log_info = log_info_path +"Test_";

google::SetLogDestination(google::GLOG_INFO, log_info.c_str());

3.自动创建日志存放文件夹

 判断日志文件输入路径内文件夹是否存在,不存在创建文件夹

 DIR *dir;
  std::string str_command;
  if ((dir = opendir(log_info_path.c_str())) == NULL)
  {
    str_command = "mkdir -p " + log_info_path;
    system(str_command.c_str()); 
  }

4.glog 快速使用

#include <glog/logging.h>
#include <dirent.h>
void GolgInit(std::string &log_info_path)
{
	std::string log_info;
	DIR *dir;
	std::string str_command;
	if ((dir = opendir(log_info_path.c_str())) == NULL)
	{
		LOG(INFO) << "日志存放目录不存在,创建日志存放目录文件" << std::endl;
		str_command = "mkdir -p " + log_info_path;
		system(str_command.c_str()); // 存在就删除目录
	}

	log_info = log_info_path + "testname_";
	FLAGS_alsologtostderr = true;
	FLAGS_colorlogtostderr = true;
	google::SetLogDestination(google::GLOG_INFO, log_info.c_str());
	google::SetLogFilenameExtension(".log");

	LOG(INFO) << "google::IsGoogleLoggingInitialized :" << google::IsGoogleLoggingInitialized() << std::endl;
	google::InitGoogleLogging("init logs------");
}
int main()
{
	std::string log_info_path = "../data/logs/test/";
	GolgInit(log_info_path);
    #...
}

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值