qxLib
Public Member Functions | List of all members
qx::logger Class Reference

Logger class. More...

#include <logger.h>

Public Member Functions

void log (const category &category, verbosity eVerbosity, string_view svFile, string_view svFunction, int nLine, string_view svMessage)
 Log to all streams. More...
 
template<class... args_t>
 requires (log_acceptable_args_c< args_t... >) void log(const category &category
 Log to all streams. More...
 
void flush ()
 Flush all streams.
 
template<sbo_poly_assignable_c< base_logger_stream > stream_t>
void add_stream (stream_t stream) noexcept
 Add an output stream to the logger. More...
 
void reset () noexcept
 Reset logger and clear all streams.
 
bool will_any_stream_accept (const category &category, verbosity eVerbosity, string_view svFile, string_view svFunction) const noexcept
 Returns true if any of streams will accept this message. More...
 

Detailed Description

Logger class.

Author
Khrapov
Date
10.01.2020

Definition at line 63 of file logger.h.

Member Function Documentation

◆ add_stream()

template<sbo_poly_assignable_c< base_logger_stream > stream_t>
void qx::logger::add_stream ( stream_t  stream)
inlinenoexcept

Add an output stream to the logger.

Template Parameters
stream_t- stream type, derived from base_logger_stream
Parameters
stream- stream object

Definition at line 48 of file logger.inl.

◆ log()

void qx::logger::log ( const category category,
verbosity  eVerbosity,
string_view  svFile,
string_view  svFunction,
int  nLine,
string_view  svMessage 
)
inline

Log to all streams.

Parameters
category- code category
eVerbosity- message verbosity
svFile- file name string
svFunction- function name string
nLine- code line number
svMessage- message string

Definition at line 13 of file logger.inl.

◆ requires()

template<class... args_t>
qx::logger::requires ( log_acceptable_args_c< args_t... >  ) const &

Log to all streams.

Template Parameters
args_t- template parameter pack type
Parameters
category- code category
eVerbosity- message verbosity
svFile- file name string
svFunction- function name string
nLine- code line number
sFormat- format string
args- additional args for format

◆ will_any_stream_accept()

bool qx::logger::will_any_stream_accept ( const category category,
verbosity  eVerbosity,
string_view  svFile,
string_view  svFunction 
) const
inlinenoexcept

Returns true if any of streams will accept this message.

Typically you don't want to use it It may be useful with async logging to avoid unnecessary formatting and queueing

Parameters
category- code category
eVerbosity- message verbosity
svFile- file name string
svFunction- function name string
Return values
-true if any of streams will accept this message

Definition at line 58 of file logger.inl.


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