Tomographer
v2.0
Tomographer C++ Framework Documentation
|
Tomographer's Logging Framework More...
Classes | |
class | BufferLogger |
Log messages into an internal memory buffer. More... | |
struct | DefaultLoggerTraits |
Default traits for Logger implementations. More... | |
class | FileLogger |
Simple logger class which logs everything into a given FILE pointer. More... | |
class | LocalLogger |
Local logger: avoid having to repeat origin at each emitted message. More... | |
struct | LocalLoggerOriginSpec |
Tool to specify arguments to LocalLogger. More... | |
class | LoggerBase |
Base logger class. More... | |
struct | LoggerTraits |
Traits template struct to be specialized for specific Logger implementations. More... | |
struct | LoggerTraits< BufferLogger > |
Specialized Traits for BufferLogger – see LoggerTraits. More... | |
struct | LoggerTraits< FileLogger > |
Specialized Traits for FileLogger – see LoggerTraits. More... | |
struct | LoggerTraits< LocalLogger< BaseLoggerType_ > > |
Specialized Traits for LocalLogger. See LoggerTraits<BaseLoggerType_> More... | |
struct | LoggerTraits< MinimumSeverityLogger< BaseLogger, Level > > |
Specialized Traits for MinimumSeverityLogger – see LoggerTraits. More... | |
struct | LoggerTraits< MultiProc::OMP::ThreadSanitizerLogger< BaseLogger > > |
Specialized Traits for Tomographer::MultiProc::OMP::ThreadSanitizerLogger<typename BaseLogger> – see Tomographer::Logger::LoggerTraits<typename LoggerType> More... | |
struct | LoggerTraits< OriginFilteredLogger< BaseLogger > > |
Specialized Logger Traits for OriginFilteredLogger – see LoggerTraits. More... | |
struct | LoggerTraits< VacuumLogger > |
Specialied Traits for VacuumLogger. See LoggerTraits<BaseLogger>. More... | |
class | LogLevel |
Object which stores a log level and can initialize from a string. More... | |
class | MinimumSeverityLogger |
Logger which statically discards any messages less important than a fixed severity. More... | |
class | OriginFilteredLogger |
A logger which filters entries according to where they originated from. More... | |
struct | StaticIsAtLeastOfSeverity |
Helper for statically determining if Level is at least as severe as BaseLevel. More... | |
class | VacuumLogger |
Logger that discards all messages. More... | |
Enumerations | |
enum | LogLevelCode |
Possible logging levels. More... | |
Functions | |
std::istream & | operator>> (std::istream &str, LogLevel &l) |
C++ input stream operator for LogLevel. | |
std::ostream & | operator<< (std::ostream &str, const LogLevel &l) |
C++ output stream operator for LogLevel. | |
bool | isAtLeastOfSeverity (int level, int baselevel) |
Helper to compare severity levels. More... | |
template<typename BaseLoggerType > | |
LocalLogger< BaseLoggerType > | makeLocalLogger (const std::string &origin_fn_name, BaseLoggerType &baselogger) |
Create a local logger. More... | |
template<typename BaseLoggerType > | |
LocalLogger< BaseLoggerType > | makeLocalLogger (const std::string &origin_prefix, const std::string &glue, BaseLoggerType &baselogger) |
Create a local logger. More... | |
template<typename BaseLoggerType > | |
LocalLogger< BaseLoggerType > | makeLocalLogger (const LocalLoggerOriginSpec &spec, BaseLoggerType &baselogger) |
Create a local logger. More... | |
Tomographer's Logging Framework
Possible logging levels.
Don't trust the numeric values here, they may change at any time. Just the order is important.
Enumerator | |
---|---|
ERROR |
Error logging level. A log message with this level signifies that a critical error has occurred which prevents further processing. The program is about to terminate. |
WARNING |
Warning logging level. A log message with this level signifies a warning for the user. The computation may continue, but most likely the user provided erroneous input, a routine may have failed to reach the required precision, or there are features which will not be available. |
INFO |
Information logging level. Log messages with the |
DEBUG |
Debug logging level. More verbose information, meant to debug either the input data or the The |
LONGDEBUG |
Long Debug logging level. This level is meant to signify very specific messages, such as infomation about individual iterations. The log produced with this level may be very long an no longer readable on a terminal. Use this level for messages that are generated very often. |
HIGHEST_SEVERITY_LEVEL |
Highest severity possible. Don't use as a level. Use, rather, as value e.g. for LoggerTraits::StaticMinimumSeverityLevel. |
LOWEST_SEVERITY_LEVEL |
Lowest severity possible. Don't use as a level. Use, rather, as value e.g. for LoggerTraits::StaticMinimumSeverityLevel. |
|
inline |
Helper to compare severity levels.
Returns true
if the given level is at least as severe (equal severity or higher severity) as baselevel (for example, if level == Logger::ERROR
and baselevel == Logger::INFO
).
Just to make sure we don't confuse the numerical ordering of the levels, we should always use this helper function to see whether a level is at least of a given severity.
LocalLogger<BaseLoggerType> Tomographer::Logger::makeLocalLogger | ( | const std::string & | origin_fn_name, |
BaseLoggerType & | baselogger | ||
) |
Create a local logger.
This function is useful to avoid having to repeat the base logger's type, by using C++'s auto
keyword as well as automatic template argument deduction:
The above code is equivalent to
Each overload of makeLocalLogger() calls the matching LocalLogger constructor. As in the example above, you may use TOMO_ORIGIN as the origin argument.
LocalLogger<BaseLoggerType> Tomographer::Logger::makeLocalLogger | ( | const std::string & | origin_prefix, |
const std::string & | glue, | ||
BaseLoggerType & | baselogger | ||
) |
Create a local logger.
This function overload provides the same functionality as makeLocalLogger(const std::string&,BaseLoggerType&), but simply calls the other corresponding constructor.
LocalLogger<BaseLoggerType> Tomographer::Logger::makeLocalLogger | ( | const LocalLoggerOriginSpec & | spec, |
BaseLoggerType & | baselogger | ||
) |
Create a local logger.
This function overload provides the same functionality as makeLocalLogger(const std::string&,BaseLoggerType&), but simply calls the other corresponding constructor.