qxLib
Classes | Public Member Functions | Protected Member Functions | List of all members
qx::base_file_logger_stream Class Reference

Base class for all file logger streams. More...

#include <base_file_logger_stream.h>

Inheritance diagram for qx::base_file_logger_stream:
qx::base_logger_stream qx::rtti_root< naming_strategy_t > qx::rtti_pure_base qx::file_logger_stream_fopen qx::file_logger_stream_mapping qx::file_logger_stream_ofstream

Classes

struct  config
 

Public Member Functions

 base_file_logger_stream (const config &streamConfig) noexcept
 file_logger_stream object constructor More...
 
- Public Member Functions inherited from qx::base_logger_stream
 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...
 
- Public Member Functions inherited from qx::rtti_root< naming_strategy_t >
template<class T >
bool is_derived_from () const noexcept
 Test exact identity or membership in the object's RTTI base chain. More...
 
template<class T >
bool is () const noexcept
 Compare the object's dynamic class identifier with T's identifier. More...
 
bool is (string_view svClassName) const noexcept
 Compare against the class name selected by the naming strategy. More...
 
bool is (const class_id &id) const noexcept
 Compare against the object's dynamic class identifier. More...
 
virtual bool is_derived_from_id (const class_id &id) const noexcept
 Test an identifier against the object's dynamic RTTI hierarchy. More...
 
virtual string_view get_class_name () const noexcept
 Get the name of the object's most-derived registered RTTI type. More...
 
virtual class_id get_class_id () const noexcept
 Get the identifier of the object's most-derived registered RTTI type. More...
 
virtual std::span< const class_id > get_inheritance_sequence () const =0
 Get the registered inheritance chain in base-to-derived order. More...
 

Protected Member Functions

std::filesystem::path prepare_folder_and_get_log_file_path (const config &config) noexcept
 Create a folder (if required) and get log file path. More...
 
- Protected Member Functions inherited from qx::rtti_root< naming_strategy_t >
virtual bool _is_base_id (const class_id &idBase) const noexcept
 Traverse identifiers treated as bases by derived RTTI classes. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from qx::rtti_root< naming_strategy_t >
static constexpr bool is_derived_from_id_static (const class_id &id) noexcept
 Test an identifier against the declaring type's static RTTI hierarchy. More...
 
static constexpr string_view get_class_name_static () noexcept
 Apply the naming strategy to the declaring RTTI type's signature. More...
 
static constexpr class_id get_class_id_static () noexcept
 Create the declaring RTTI type's identifier from its type signature. More...
 

Detailed Description

Base class for all file logger streams.

Author
Khrapov
Date
28.07.2021

Definition at line 34 of file base_file_logger_stream.h.

Constructor & Destructor Documentation

◆ base_file_logger_stream()

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

file_logger_stream object constructor

Parameters
streamConfig- file logger configuration

Definition at line 13 of file base_file_logger_stream.inl.

Member Function Documentation

◆ prepare_folder_and_get_log_file_path()

std::filesystem::path qx::base_file_logger_stream::prepare_folder_and_get_log_file_path ( const config &  config)
inlineprotectednoexcept

Create a folder (if required) and get log file path.

Parameters
config- file logger configuration
Return values
-log file path, empty path on error

Definition at line 18 of file base_file_logger_stream.inl.


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