22// / @brief Default log sink implementation using spdlog
33
44#include " default_log_sink.h"
5- #include < spdlog/spdlog.h>
6- #include < spdlog/sinks/stdout_color_sinks.h>
7- #include < spdlog/pattern_formatter.h>
85#include < mutex>
6+ #include < spdlog/pattern_formatter.h>
7+ #include < spdlog/sinks/stdout_color_sinks.h>
8+ #include < spdlog/spdlog.h>
99
1010PROFILER_NAMESPACE_BEGIN
1111
@@ -14,40 +14,20 @@ namespace internal {
1414// Helper to convert profiler LogLevel to spdlog level
1515static spdlog::level::level_enum toSpdlogLevel (LogLevel level) {
1616 switch (level) {
17- case LogLevel::Trace:
18- return spdlog::level::trace;
19- case LogLevel::Debug:
20- return spdlog::level::debug;
21- case LogLevel::Info:
22- return spdlog::level::info;
23- case LogLevel::Warning:
24- return spdlog::level::warn;
25- case LogLevel::Error:
26- return spdlog::level::err;
27- case LogLevel::Fatal:
28- return spdlog::level::critical;
29- default :
30- return spdlog::level::info;
31- }
32- }
33-
34- // Helper to convert LogLevel to string
35- static const char * levelToString (LogLevel level) {
36- switch (level) {
37- case LogLevel::Trace:
38- return " TRACE" ;
39- case LogLevel::Debug:
40- return " DEBUG" ;
41- case LogLevel::Info:
42- return " INFO" ;
43- case LogLevel::Warning:
44- return " WARN" ;
45- case LogLevel::Error:
46- return " ERROR" ;
47- case LogLevel::Fatal:
48- return " FATAL" ;
49- default :
50- return " UNKNOWN" ;
17+ case LogLevel::Trace:
18+ return spdlog::level::trace;
19+ case LogLevel::Debug:
20+ return spdlog::level::debug;
21+ case LogLevel::Info:
22+ return spdlog::level::info;
23+ case LogLevel::Warning:
24+ return spdlog::level::warn;
25+ case LogLevel::Error:
26+ return spdlog::level::err;
27+ case LogLevel::Fatal:
28+ return spdlog::level::critical;
29+ default :
30+ return spdlog::level::info;
5131 }
5232}
5333
@@ -61,7 +41,7 @@ class DefaultLogSink::Impl {
6141 // Format: [timestamp] [level] [source_location] message
6242 logger_ = std::make_shared<spdlog::logger>(" profiler" , stderr_sink);
6343 logger_->set_pattern (" [%Y-%m-%d %H:%M:%S.%e] [%^%-7l%$] [%s:%#] %v" );
64- logger_->set_level (spdlog::level::trace); // Let LogManager handle filtering
44+ logger_->set_level (spdlog::level::trace); // Let LogManager handle filtering
6545
6646 // Register as default logger (optional, for spdlog internal use)
6747 spdlog::register_logger (logger_);
@@ -71,11 +51,7 @@ class DefaultLogSink::Impl {
7151 spdlog::drop (" profiler" );
7252 }
7353
74- void log (LogLevel level,
75- const char * file,
76- int line,
77- const char * function,
78- const char * message) {
54+ void log (LogLevel level, const char * file, int line, const char * function, const char * message) {
7955 // Extract just the filename from the full path
8056 const char * filename = file;
8157 if (const char * last_slash = strrchr (file, ' /' )) {
@@ -106,17 +82,11 @@ class DefaultLogSink::Impl {
10682 std::shared_ptr<spdlog::logger> logger_;
10783};
10884
109- DefaultLogSink::DefaultLogSink ()
110- : impl_(std::make_unique<Impl>()) {
111- }
85+ DefaultLogSink::DefaultLogSink () : impl_(std::make_unique<Impl>()) {}
11286
11387DefaultLogSink::~DefaultLogSink () = default ;
11488
115- void DefaultLogSink::log (LogLevel level,
116- const char * file,
117- int line,
118- const char * function,
119- const char * message) {
89+ void DefaultLogSink::log (LogLevel level, const char * file, int line, const char * function, const char * message) {
12090 std::lock_guard<std::mutex> lock (mutex_);
12191 impl_->log (level, file, line, function, message);
12292}
@@ -131,6 +101,6 @@ void DefaultLogSink::setLogLevel(LogLevel level) {
131101 impl_->setLogLevel (level);
132102}
133103
134- } // namespace internal
104+ } // namespace internal
135105
136106PROFILER_NAMESPACE_END
0 commit comments