17#ifndef IOX_HOOFS_LOG_LOGGER_HPP
18#define IOX_HOOFS_LOG_LOGGER_HPP
20#include "iceoryx_hoofs/cxx/generic_raii.hpp"
21#include "iceoryx_hoofs/log/logcommon.hpp"
22#include "iceoryx_hoofs/log/logstream.hpp"
67 void SetLogMode(const LogMode logMode) noexcept;
69 bool IsEnabled(const LogLevel logLevel) const noexcept;
85 Logger(const std::
string& ctxId, const std::
string& ctxDescription, const LogLevel appLogLevel) noexcept;
89 virtual
void Log(const
LogEntry& entry) const noexcept;
93 static
void Print(const
LogEntry& entry) noexcept;
95 std::atomic<LogLevel> m_logLevel{LogLevel::kVerbose};
96 std::atomic<LogLevel> m_logLevelPredecessor{LogLevel::kVerbose};
97 std::atomic<LogMode> m_logMode{LogMode::kConsole};
Definition: logmanager.hpp:38
Definition: logstream.hpp:118
Definition: logger.hpp:37
cxx::GenericRAII SetLogLevelForScope(const LogLevel logLevel) noexcept
Sets the LogLevel to the given level for the lifetime of the GenericRAII object and then sets it back...
LogLevel GetLogLevel() const noexcept
Getter method for the current LogLevel.
void SetLogLevel(const LogLevel logLevel) noexcept
Sets the LogLevel for the Logger.
building block to easily create free function for logging in a library context
Definition: lockfree_queue.hpp:29
Definition: logcommon.hpp:71