diff --git a/NanoLog.cpp b/NanoLog.cpp index 1a4e64e..133363f 100644 --- a/NanoLog.cpp +++ b/NanoLog.cpp @@ -89,12 +89,16 @@ namespace nanolog { switch (loglevel) { + case LogLevel::DEBUG: + return "DEBUG"; case LogLevel::INFO: - return "INFO"; + return "INFO "; case LogLevel::WARN: - return "WARN"; + return "WARN "; + case LogLevel::ERROR: + return "ERROR"; case LogLevel::CRIT: - return "CRIT"; + return "CRIT "; } return "XXXX"; } @@ -693,7 +697,7 @@ namespace nanolog atomic_nanologger.store(nanologger.get(), std::memory_order_seq_cst); } - std::atomic < unsigned int > loglevel = {0}; + std::atomic < unsigned int > loglevel = {1}; void set_log_level(LogLevel level) { diff --git a/NanoLog.hpp b/NanoLog.hpp index 55ac34f..f6d9234 100644 --- a/NanoLog.hpp +++ b/NanoLog.hpp @@ -34,7 +34,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SO namespace nanolog { - enum class LogLevel : uint8_t { INFO, WARN, CRIT }; + enum class LogLevel : uint8_t { DEBUG, INFO, WARN, ERROR, CRIT, NONE }; class NanoLogLine { @@ -158,8 +158,10 @@ namespace nanolog } // namespace nanolog #define NANO_LOG(LEVEL) nanolog::NanoLog() == nanolog::NanoLogLine(LEVEL, __FILE__, __func__, __LINE__) +#define LOG_DEBUG nanolog::is_logged(nanolog::LogLevel::DEBUG) && NANO_LOG(nanolog::LogLevel::DEBUG) #define LOG_INFO nanolog::is_logged(nanolog::LogLevel::INFO) && NANO_LOG(nanolog::LogLevel::INFO) #define LOG_WARN nanolog::is_logged(nanolog::LogLevel::WARN) && NANO_LOG(nanolog::LogLevel::WARN) +#define LOG_ERROR nanolog::is_logged(nanolog::LogLevel::ERROR) && NANO_LOG(nanolog::LogLevel::ERROR) #define LOG_CRIT nanolog::is_logged(nanolog::LogLevel::CRIT) && NANO_LOG(nanolog::LogLevel::CRIT) #endif /* NANO_LOG_HEADER_GUARD */