quill
Public Member Functions | Static Public Member Functions | List of all members
detail::LoggerManager Class Reference

Public Member Functions

 LoggerManager (LoggerManager const &)=delete
 
LoggerManageroperator= (LoggerManager const &)=delete
 
QUILL_NODISCARD LoggerBaseget_logger (std::string const &logger_name) const
 
QUILL_NODISCARD std::vector< LoggerBase * > get_all_loggers () const
 
QUILL_NODISCARD LoggerBaseget_valid_logger (std::string_view exclude_logger_substr={}) const
 
QUILL_NODISCARD LoggerBaseget_valid_logger (std::vector< std::string > const &exclude_logger_substrs) const
 
QUILL_NODISCARD size_t get_number_of_loggers () const noexcept
 
template<typename TCallback >
void for_each_logger (TCallback cb) const
 For backend use only.
 
template<typename TLogger >
LoggerBasecreate_logger (std::string const &logger_name, std::vector< std::shared_ptr< Sink >> sinks, PatternFormatterOptions const &pattern_formatter_options, ClockSourceType clock_source, UserClockSource *user_clock)
 Creates a new logger with the given name. More...
 
template<typename TLogger >
LoggerBasecreate_or_get_logger (std::string const &logger_name, std::vector< std::shared_ptr< Sink >> sinks, PatternFormatterOptions const &pattern_formatter_options, ClockSourceType clock_source, UserClockSource *user_clock)
 Creates a new logger or returns an existing one with the given name. More...
 
template<typename TLogger >
LoggerBasecreate_or_get_logger (std::string const &logger_name, LoggerBase *source_logger)
 
void remove_logger (LoggerBase *logger)
 
template<typename TCheckQueuesEmpty >
void cleanup_invalidated_loggers (TCheckQueuesEmpty check_queues_empty, std::vector< std::string > &removed_loggers)
 
QUILL_NODISCARD bool has_invalidated_loggers () const noexcept
 
QUILL_ATTRIBUTE_COLD void parse_log_level_from_env ()
 

Static Public Member Functions

static QUILL_EXPORT LoggerManagerinstance () noexcept
 

Member Function Documentation

◆ create_logger()

template<typename TLogger >
LoggerBase* detail::LoggerManager::create_logger ( std::string const &  logger_name,
std::vector< std::shared_ptr< Sink >>  sinks,
PatternFormatterOptions const &  pattern_formatter_options,
ClockSourceType  clock_source,
UserClockSource user_clock 
)
inline

Creates a new logger with the given name.

Exceptions
QuillErrorif a logger with the same name already exists.

◆ create_or_get_logger()

template<typename TLogger >
LoggerBase* detail::LoggerManager::create_or_get_logger ( std::string const &  logger_name,
std::vector< std::shared_ptr< Sink >>  sinks,
PatternFormatterOptions const &  pattern_formatter_options,
ClockSourceType  clock_source,
UserClockSource user_clock 
)
inline

Creates a new logger or returns an existing one with the given name.

Note
If a logger with the specified name already exists, the existing logger is returned and the provided sinks, pattern, clock source, and user clock parameters are ignored.

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