Apollo 10.0
自动驾驶开放平台
apollo::cyber::logger::Logger类 参考

#include <logger.h>

类 apollo::cyber::logger::Logger 继承关系图:
apollo::cyber::logger::Logger 的协作图:

Public 成员函数

 Logger (google::base::Logger *wrapped)
 
 ~Logger ()
 
void Write (bool force_flush, time_t timestamp, const char *message, int message_len) override
 
void Flush () override
 
uint32_t LogSize () override
 

详细描述

在文件 logger.h28 行定义.

构造及析构函数说明

◆ Logger()

apollo::cyber::logger::Logger::Logger ( google::base::Logger *  wrapped)
explicit

在文件 logger.cc35 行定义.

35: wrapped_(wrapped) {}

◆ ~Logger()

apollo::cyber::logger::Logger::~Logger ( )

在文件 logger.cc37 行定义.

37 {
38 for (auto itr = moduleLoggerMap.begin(); itr != moduleLoggerMap.end();
39 ++itr) {
40 delete itr->second;
41 }
42 moduleLoggerMap.clear();
43}

成员函数说明

◆ Flush()

void apollo::cyber::logger::Logger::Flush ( )
override

在文件 logger.cc73 行定义.

73{ wrapped_->Flush(); }

◆ LogSize()

uint32_t apollo::cyber::logger::Logger::LogSize ( )
override

在文件 logger.cc75 行定义.

75{ return wrapped_->LogSize(); }

◆ Write()

void apollo::cyber::logger::Logger::Write ( bool  force_flush,
time_t  timestamp,
const char *  message,
int  message_len 
)
override

在文件 logger.cc45 行定义.

46 {
47 std::string log_message = std::string(message, message_len);
48 std::string module_name;
49 // set the same bracket as the bracket in log.h
50 FindModuleName(&log_message, &module_name);
51
52 LogFileObject* fileobject = nullptr;
53 {
54 std::lock_guard<std::mutex> lock(mutex_);
55 if (moduleLoggerMap.find(module_name) != moduleLoggerMap.end()) {
56 fileobject = moduleLoggerMap[module_name];
57 } else {
58 std::string file_name = module_name + ".log.INFO.";
59 if (!FLAGS_log_dir.empty()) {
60 file_name = FLAGS_log_dir + "/" + file_name;
61 }
62 fileobject = new LogFileObject(google::INFO, file_name.c_str());
63 fileobject->SetSymlinkBasename(module_name.c_str());
64 moduleLoggerMap[module_name] = fileobject;
65 }
66 }
67 if (fileobject) {
68 fileobject->Write(force_flush, timestamp, log_message.c_str(),
69 static_cast<int>(log_message.size()));
70 }
71}
void FindModuleName(std::string *log_message, std::string *module_name)
Definition logger_util.h:66

该类的文档由以下文件生成: