写点什么

c++ 使用 Glog 生成多个具有相同等级的日志文件

作者:linux大本营
  • 2023-04-27
    湖南
  • 本文字数:812 字

    阅读完需:约 3 分钟

在使用 Glog 生成多个具有相同等级的日志文件时,可以使用 Logger API。Logger API 允许您定义和控制不同的日志器(loggers),每个日志器都可以有不同的日志输出等级、格式和目标。以下是一个简单的示例:


#include <iostream>#include <glog/logging.h>
int main(int argc, char** argv) { google::InitGoogleLogging(argv[0]);
// 创建两个日志器 google::LogMessage("INFO").stream() << "Creating logger for info logs"; google::Logger* logger1 = google::LogMessage::GetLogMessageLogger("INFO");
google::LogMessage("INFO").stream() << "Creating logger for info logs again"; google::Logger* logger2 = google::LogMessage::GetLogMessageLogger("INFO");
// 设置两个日志器的输出目标和格式 logger1->RemoveAllLogDestinations(); logger1->AddLogDestination(google::LogToStderr()); logger1->set_log_filename_extension(".info.log"); logger1->set_log_dir("./logs");
logger2->RemoveAllLogDestinations(); logger2->AddLogDestination(google::LogToStderr()); logger2->set_log_filename_extension(".info.log"); logger2->set_log_dir("./logs");
LOG(INFO) << "This message goes to both loggers";
return 0;}
复制代码


在上面的代码中,我们首先创建了两个日志器,并为它们设置了输出目标和格式。接下来,我们使用LOG(INFO)语句写入日志,这将同时写入两个日志文件。由于这两个日志器具有相同的等级(INFO),因此它们将接收到相同等级的日志消息。


最后,请注意,我们使用了google::LogMessage::GetLogMessageLogger()方法来获取已经存在的日志器(如果存在)或创建一个新的日志器(如果不存在)。这是确保多个日志器具有相同的设置的一种简便方法。


相关技术视频教程:c/c++ linux服务器开发/后台架构师免费学习地址

c/c++后端技术交流群:579733396

用户头像

还未添加个人签名 2020-11-26 加入

C/C++linux服务器开发群 812855908

评论

发布
暂无评论
c++ 使用Glog 生成多个具有相同等级的日志文件_c++_linux大本营_InfoQ写作社区