15#ifndef IOX2_BB_REPORTING_LOG_BUILDING_BLOCKS_CONSOLE_LOGGER_HPP
16#define IOX2_BB_REPORTING_LOG_BUILDING_BLOCKS_CONSOLE_LOGGER_HPP
104 ThreadLocalData()
noexcept =
default;
105 ~ThreadLocalData() =
default;
107 ThreadLocalData(
const ThreadLocalData&) =
delete;
108 ThreadLocalData(ThreadLocalData&&) =
delete;
110 ThreadLocalData&
operator=(
const ThreadLocalData&) =
delete;
111 ThreadLocalData&
operator=(ThreadLocalData&&) =
delete;
114 static constexpr uint32_t BUFFER_SIZE { 1024 };
115 static constexpr uint32_t NULL_TERMINATED_BUFFER_SIZE { BUFFER_SIZE + 1 };
121 char buffer[NULL_TERMINATED_BUFFER_SIZE];
128 static ThreadLocalData& getThreadLocalData()
noexcept;
135#include "iox2/legacy/detail/log/building_blocks/console_logger.inl"
A minimal logger implementation which outputs the log messages to the console.
virtual void initLogger(const LogLevel) noexcept
static void setLogLevel(const LogLevel logLevel) noexcept
Sets a new log level.
void logRaw(const void *const data, const uint64_t size) noexcept
virtual void flush() noexcept
LogBuffer getLogBuffer() const noexcept
void logBool(const bool value) noexcept
void logString(const char *message) noexcept
virtual void createLogMessageHeader(const bb::detail::SourceLocation location, const LogLevel logLevel) noexcept
static LogLevel getLogLevel() noexcept
Obtain the current log level.
void logHex(const T value) noexcept
void assumeFlushed() noexcept
void logChar(const char value) noexcept
void logBin(const T value) noexcept
void logOct(const T value) noexcept
ConsoleLogger & operator=(const ConsoleLogger &)=delete
void logDec(const T value) noexcept
LogLevel
This enum defines the log levels used for logging.
constexpr bool always_false_v
Helper value to bind a static_assert to a type.
constexpr uint64_t size(const UninitializedArray< T, N, Buffer > &) noexcept
Returns N.
void log(LogLevel log_level, const char *origin, const char *message)
Adds a log message to the logger.
Provides access to the log buffer if direct access is required.