44 bool bProtectLog =
true;
47 verbosity eMinFlushVerbosity = verbosity::error;
74 std::thread::
id threadId,
75 std::chrono::system_clock::time_point messageTime,
77 string_view svFunction,
79 string_view svMessage);
100 verbosity eVerbosity,
101 std::thread::
id threadId,
102 std::chrono::system_clock::time_point messageTime,
104 string_view svFunction,
105 int nLine) const noexcept;
121 verbosity eVerbosity,
122 std::thread::
id threadId,
123 std::chrono::system_clock::time_point messageTime,
125 string_view svFunction,
127 string_view svMessage) = 0;
132 virtual
void do_flush() = 0;
135 std::unique_ptr<std::recursive_mutex> m_pMutex;
136 bool m_bProtectLog = true;
137 verbosity m_eMinFlushVerbosity = verbosity::error;
142 #include <qx/logger/base_logger_stream.inl>
#define QX_DEFINE_CATEGORY(name,...)
Define a category.
Base class for logger streams.
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...
Contains perf scope macros for profiler (for internal usage only, but user may override them)
RTTI system based on polymorphism.