MCPcopy Create free account
hub / github.com/OpenArkStudio/ARK / CreateOssLogger

Method CreateOssLogger

src/plugin/log/src/AFCLogModule.cpp:88–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86//////////////////////////////////////////////////////////////////////////
87
88AFCLogModule::spdlogger AFCLogModule::CreateOssLogger(const std::string& name)
89{
90 if (name.empty())
91 {
92 return nullptr;
93 }
94
95 try
96 {
97 // log/oss/login.log
98 std::vector<spdlog::sink_ptr> sinks_vec;
99 std::string log_name = ARK_FORMAT("{}{}oss{}{}.log", GetPluginManager()->GetLogPath(),
100 spdlog::details::os::folder_sep, spdlog::details::os::folder_sep, name);
101 auto rorate_file_sink =
102 std::make_shared<spdlog::sinks::rotating_file_with_date_sink_mt>(log_name, 20 * 1024 * 1024, 100000);
103 sinks_vec.push_back(rorate_file_sink);
104
105 if (oss_tp_ == nullptr)
106 {
107 oss_tp_ = std::make_shared<spdlog::details::thread_pool>(spdlog::details::default_async_q_size, 1);
108 }
109
110 auto logger = std::make_shared<spdlog::async_logger>(name, std::begin(sinks_vec), std::end(sinks_vec), oss_tp_);
111 logger->set_pattern("%v");
112 // flush when level >= info
113 logger->flush_on(spdlog::level::info);
114
115 spdlog::register_logger(logger);
116 oss_loggers_.insert(std::make_pair(name, logger));
117 return logger;
118 }
119 catch (std::system_error& error)
120 {
121 CONSOLE_INFO_LOG << "Create OSS logger failed, error = " << error.what() << std::endl;
122 }
123
124 ARK_ASSERT_RET_VAL(0, nullptr);
125}
126
127void AFCLogModule::OssLog(const google::protobuf::Message& msg)
128{

Callers

nothing calls this directly

Calls 6

beginFunction · 0.85
endFunction · 0.85
emptyMethod · 0.45
push_backMethod · 0.45
insertMethod · 0.45
whatMethod · 0.45

Tested by

no test coverage detected