#ifndef MATADOR_LOG_LEVEL_HPP #define MATADOR_LOG_LEVEL_HPP #include 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