46 {
47 std::string log_message = std::string(message, message_len);
48 std::string module_name;
49
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)