18 template<
class char_t >
21 static auto& get() noexcept
30 static auto& get() noexcept
36 template<
class char_t >
39 static auto& get() noexcept
48 static auto& get() noexcept
57 : m_pMutex(std::make_unique<std::recursive_mutex>())
58 , m_bProtectLog(streamConfig.bProtectLog)
59 , m_eMinFlushVerbosity(streamConfig.eMinFlushVerbosity)
66 std::thread::id threadId,
67 std::chrono::system_clock::time_point messageTime,
69 string_view svFunction,
71 string_view svMessage)
78 do_log(
category, eVerbosity, threadId, messageTime, svFile, svFunction, nLine, svMessage);
80 if (eVerbosity >= m_eMinFlushVerbosity)
89 QX_PERF_SCOPE(
"Flush");
102 verbosity eVerbosity,
103 std::thread::id threadId,
104 std::chrono::system_clock::time_point messageTime,
106 string_view svFunction,
107 int nLine)
const noexcept
#define QX_SET_FILE_CATEGORY(_category)
Set the file category You can access this value via QX_GET_FILE_CATEGORY() This category will not be ...
virtual bool log_unconditionally_required(const category &category, verbosity eVerbosity, std::thread::id threadId, std::chrono::system_clock::time_point messageTime, string_view svFile, string_view svFunction, int nLine) const noexcept
Returns true if this message should be processed by this stream even if the logger filters did not pa...
void log(const category &category, verbosity eVerbosity, std::thread::id threadId, std::chrono::system_clock::time_point messageTime, string_view svFile, string_view svFunction, int nLine, string_view svMessage)
Output to stream.
void flush()
Flush the stream.
base_logger_stream(const config &streamConfig) noexcept
base_logger_stream object constructor
A category is a class that identifies a particular piece of code. This code can be located in differe...