iterative-solver 0.0
molpro::linalg::itsolv::Logger Class Reference

#include <Logger.h>

Detailed Description

Logger class implementation. Provides (customizable) logging functionalities.

Public Member Functions

 Logger (log::Severity min_severity=log::Severity::Normal, log::Verbosity verbosity=log::Verbosity::Info, bool enable_data_dumps=false)
 
template<log::context Context = log::Generic, std::size_t precision = log::default_precision, typename ... Ts>
void msg (log::Severity severity, log::Verbosity verbosity, std::string_view message, Ts &&...args) const
 
template<log::context Context = log::Generic, typename ... Ts>
void trace (std::string_view message, Ts &&...args) const
 
template<log::context Context = log::Generic, typename ... Ts>
void debug (std::string_view message, Ts &&...args) const
 
template<log::context Context = log::Generic, typename ... Ts>
void info (std::string_view message, Ts &&...args) const
 
template<log::context Context = log::Generic, typename ... Ts>
void warn (std::string_view message, Ts &&...args) const
 
template<log::context Context = log::Generic, typename ... Ts>
void error (std::string_view message, Ts &&...args) const
 
template<log::context Context = log::Generic, typename ... Ts>
void fatal (std::string_view message, Ts &&...args) const
 
template<std::size_t precision = log::default_precision, typename ... Ts>
void data_dump (std::string_view what, Ts...data) const
 
log::Severity min_severity () const
 
void set_min_severity (log::Severity severity)
 
log::Verbosity verbosity () const
 
void set_verbosity (log::Verbosity verbosity)
 
bool data_dumps_enabled () const
 
void enable_data_dumps (bool enable)
 

Protected Member Functions

virtual void default_message_handler (std::string_view ctx, log::Severity severity, log::Verbosity verbosity, std::string_view msg) const
 
virtual void log_ctx (std::string_view ctx, std::size_t num_args) const
 

Constructor & Destructor Documentation

◆ Logger()

molpro::linalg::itsolv::Logger::Logger ( log::Severity  min_severity = log::Severity::Normal,
log::Verbosity  verbosity = log::Verbosity::Info,
bool  enable_data_dumps = false 
)
inline

Member Function Documentation

◆ data_dump()

template<std::size_t precision = log::default_precision, typename ... Ts>
void molpro::linalg::itsolv::Logger::data_dump ( std::string_view  what,
Ts...  data 
) const
inline

◆ data_dumps_enabled()

bool molpro::linalg::itsolv::Logger::data_dumps_enabled ( ) const
inline

◆ debug()

template<log::context Context = log::Generic, typename ... Ts>
void molpro::linalg::itsolv::Logger::debug ( std::string_view  message,
Ts &&...  args 
) const
inline

◆ default_message_handler()

virtual void molpro::linalg::itsolv::Logger::default_message_handler ( std::string_view  ctx,
log::Severity  severity,
log::Verbosity  verbosity,
std::string_view  msg 
) const
inlineprotectedvirtual

◆ enable_data_dumps()

void molpro::linalg::itsolv::Logger::enable_data_dumps ( bool  enable)
inline

◆ error()

template<log::context Context = log::Generic, typename ... Ts>
void molpro::linalg::itsolv::Logger::error ( std::string_view  message,
Ts &&...  args 
) const
inline

◆ fatal()

template<log::context Context = log::Generic, typename ... Ts>
void molpro::linalg::itsolv::Logger::fatal ( std::string_view  message,
Ts &&...  args 
) const
inline

◆ info()

template<log::context Context = log::Generic, typename ... Ts>
void molpro::linalg::itsolv::Logger::info ( std::string_view  message,
Ts &&...  args 
) const
inline

◆ log_ctx()

virtual void molpro::linalg::itsolv::Logger::log_ctx ( std::string_view  ctx,
std::size_t  num_args 
) const
inlineprotectedvirtual

◆ min_severity()

log::Severity molpro::linalg::itsolv::Logger::min_severity ( ) const
inline

◆ msg()

template<log::context Context = log::Generic, std::size_t precision = log::default_precision, typename ... Ts>
void molpro::linalg::itsolv::Logger::msg ( log::Severity  severity,
log::Verbosity  verbosity,
std::string_view  message,
Ts &&...  args 
) const
inline

General logging function - generally, you will want to use one of the convenience wrappers around this function

◆ set_min_severity()

void molpro::linalg::itsolv::Logger::set_min_severity ( log::Severity  severity)
inline

◆ set_verbosity()

void molpro::linalg::itsolv::Logger::set_verbosity ( log::Verbosity  verbosity)
inline

◆ trace()

template<log::context Context = log::Generic, typename ... Ts>
void molpro::linalg::itsolv::Logger::trace ( std::string_view  message,
Ts &&...  args 
) const
inline

◆ verbosity()

log::Verbosity molpro::linalg::itsolv::Logger::verbosity ( ) const
inline

◆ warn()

template<log::context Context = log::Generic, typename ... Ts>
void molpro::linalg::itsolv::Logger::warn ( std::string_view  message,
Ts &&...  args 
) const
inline