query/include/matador/logger/log_level.hpp

42 lines
1018 B
C++

#ifndef MATADOR_LOG_LEVEL_HPP
#define MATADOR_LOG_LEVEL_HPP
#include <iosfwd>
namespace matador::logger {
/**
* Represents all available log levels
*/
enum class log_level {
Fatal, /**< If a serious error occurred, use FATAL level */
Error, /**< On error use ERROR level */
Warn, /**< Warnings should use WARN level */
Info, /**< Information should go with INFO level */
Debug, /**< Debug output should use DEBUG level */
Trace, /**< Trace information should use TRACE level */
All /**< This level represents all log levels and should be used for logging */
};
/**
* Write log level in a human-readable string
* to a given std::ostream.
*
* @param os std::stream to write to
* @param lvl Log level to write
* @return The std::ostream
*/
std::ostream& operator<<(std::ostream &os, log_level lvl);
/// @cond MATADOR_DEV
struct log_level_range {
log_level min_level = log_level::Fatal;
log_level max_level = log_level::Info;
};
/// @endcond
}
#endif //MATADOR_LOG_LEVEL_HPP