#ifndef MATADOR_LOG_LEVEL_HPP #define MATADOR_LOG_LEVEL_HPP #include namespace matador::logger { /** * Represents all available log levels */ enum class log_level { LVL_FATAL, /**< If a serious error occurred, use FATAL level */ LVL_ERROR, /**< On error use ERROR level */ LVL_WARN, /**< Warnings should use WARN level */ LVL_INFO, /**< Information should go with INFO level */ LVL_DEBUG, /**< Debug output should use DEBUG level */ LVL_TRACE, /**< Trace information should use TRACE level */ LVL_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::LVL_INFO; log_level max_level = log_level::LVL_FATAL; }; /// @endcond } #endif //MATADOR_LOG_LEVEL_HPP