qxLib
Classes | Public Member Functions | List of all members
qx::base_logger_stream Class Referenceabstract

Base class for logger streams. More...

#include <base_logger_stream.h>

Inheritance diagram for qx::base_logger_stream:
qx::rtti_root< naming_strategy_t > qx::rtti_pure_base qx::base_file_logger_stream qx::base_standard_streams_stream qx::debugger_logger_stream qx::error_context_stream qx::file_logger_stream_fopen qx::file_logger_stream_mapping qx::file_logger_stream_ofstream qx::cout_logger_stream qx::fwrite_logger_stream

Classes

struct  config
 

Public Member Functions

 base_logger_stream (const config &streamConfig) noexcept
 base_logger_stream object constructor More...
 
compile_pattern_result set_pattern (pattern_string_t sPattern) noexcept
 Set a message pattern that will be used for this stream. More...
 
std::optional< string_view > get_pattern () const noexcept
 Get a message pattern if present. More...
 
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. More...
 
void flush ()
 Flush the stream.
 
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 pass it. More...
 

Detailed Description

Base class for logger streams.

Author
Khrapov
Date
28.07.2021

Definition at line 37 of file base_logger_stream.h.

Constructor & Destructor Documentation

◆ base_logger_stream()

qx::base_logger_stream::base_logger_stream ( const config &  streamConfig)
inlinenoexcept

base_logger_stream object constructor

Parameters
streamConfig- logger configuration

Definition at line 56 of file base_logger_stream.inl.

Member Function Documentation

◆ get_pattern()

std::optional< string_view > qx::base_logger_stream::get_pattern ( ) const
inlinenoexcept

Get a message pattern if present.

Return values
-a pattern for the stream

Definition at line 73 of file base_logger_stream.inl.

◆ log()

void qx::base_logger_stream::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 
)
inline

Output to stream.

Template Parameters
char_t- char type, typically char or wchar_t
Parameters
category- code category
eVerbosity- message verbosity
threadId- thread where the log is called
messageTime- message creation time
svFile- file name string
svFunction- function name string
nLine- code line number
svMessage- formatted log line

Definition at line 78 of file base_logger_stream.inl.

◆ log_unconditionally_required()

bool qx::base_logger_stream::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
inlinevirtualnoexcept

Returns true if this message should be processed by this stream even if the logger filters did not pass it.

Parameters
category- code category
eVerbosity- message verbosity
threadId- thread where the log is called
messageTime- message creation time
svFile- file name string
svFunction- function name string
nLine- code line number
Return values
-true is this message is unconditionally required by this stream

Definition at line 115 of file base_logger_stream.inl.

◆ set_pattern()

compile_pattern_result qx::base_logger_stream::set_pattern ( pattern_string_t  sPattern)
inlinenoexcept

Set a message pattern that will be used for this stream.

See also
qx::logger_specifiers for details
Warning
Not thread safe on purpose. Set it before you pass this stream to a logger!
Parameters
sPattern- a pattern for the stream
Return values
-pattern compilation result

Definition at line 63 of file base_logger_stream.inl.


The documentation for this class was generated from the following files: