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

Method CreateDevLogger

src/plugin/log/src/AFCLogModule.cpp:53–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51}
52
53void AFCLogModule::CreateDevLogger()
54{
55 std::vector<spdlog::sink_ptr> sinks_vec;
56 std::string log_name =
57 ARK_FORMAT("{}{}{}.{}.log", GetPluginManager()->GetLogPath(), spdlog::details::os::folder_sep,
58 GetPluginManager()->GetAppName(), AFMisc::Bus2Str(GetPluginManager()->GetBusID()));
59 auto date_and_hour_sink = std::make_shared<spdlog::sinks::date_and_hour_file_sink_mt>(log_name);
60#ifdef ARK_RUN_MODE_DEBUG
61#ifdef ARK_PLATFORM_WIN
62 auto color_sink = std::make_shared<spdlog::sinks::wincolor_stdout_sink_mt>();
63#else
64 auto color_sink = std::make_shared<spdlog::sinks::ansicolor_stdout_sink_mt>();
65#endif // ARK_PLATFORM_WIN
66 sinks_vec.push_back(color_sink);
67#endif // ARK_RUN_MODE_DEBUG
68 sinks_vec.push_back(date_and_hour_sink);
69
70 dev_tp_ = std::make_shared<spdlog::details::thread_pool>(spdlog::details::default_async_q_size, 1);
71 dev_logger_ = std::make_shared<spdlog::async_logger>(
72 GetPluginManager()->GetAppName(), std::begin(sinks_vec), std::end(sinks_vec), dev_tp_);
73
74#ifdef ARK_RUN_MODE_DEBUG
75 dev_logger_->set_level(spdlog::level::level_enum::trace);
76 dev_logger_->set_pattern("%^[%Y%m%d %H:%M:%S.%e][%-8l][%@]%v%$");
77#else
78 dev_logger_->set_pattern("[%Y%m%d %H:%M:%S.%e][%-8l][%@]%v");
79#endif // ARK_RUN_MODE_DEBUG
80 // flush when level >= trace
81 dev_logger_->flush_on(spdlog::level::trace);
82
83 spdlog::register_logger(dev_logger_);
84}
85
86//////////////////////////////////////////////////////////////////////////
87

Callers

nothing calls this directly

Calls 4

beginFunction · 0.85
endFunction · 0.85
GetBusIDMethod · 0.80
push_backMethod · 0.45

Tested by

no test coverage detected