11#include <switchboard/export.h>
12#include <switchboard_core/LogDestination.hpp>
13#include <switchboard_core/LogLevel.hpp>
18namespace switchboard {
57 static void trace(
const std::string& logMessage);
64 static void debug(
const std::string& logMessage);
71 static void info(
const std::string& logMessage);
78 static void warning(
const std::string& logMessage);
85 static void error(
const std::string& logMessage);
92 explicit LogStream(LogLevel level);
93 LogStream(
const LogStream&) =
delete;
94 LogStream& operator=(
const LogStream&) =
delete;
95 LogStream(LogStream&& other)
noexcept;
97 LogStream& operator=(LogStream&& other)
noexcept;
102 LogStream& operator<<(
const T& value) {
108 LogStream& operator<<(std::ostream& (*manip)(std::ostream&)) {
115 std::ostringstream stream;
121 struct LogStreamFactory {
123 explicit LogStreamFactory(
const LogLevel level) : level(level) {}
140 static LogLevel logLevel;
Provides an interface to implement platform-specific logging.
Definition LogDestination.hpp:22
Stream-like interface for logging at different levels.
Definition Logger.hpp:90
Provides logging functionality.
Definition Logger.hpp:24
static LogDestination * getLogDestination()
Gets the log destination of the logger.
static void error(const std::string &logMessage)
Logs an error level message.
static void setLogDestination(LogDestination *destination)
Sets the log destination of the logger.
static LogLevel getLogLevel()
Gets the log level of the logger.
static void debug(const std::string &logMessage)
Logs a debug level message.
static void info(const std::string &logMessage)
Logs an info level message.
static void setLogLevel(LogLevel level)
Sets the log level of the logger.
static void trace(const std::string &logMessage)
Logs a trace level message.
static void warning(const std::string &logMessage)
Logs a warning level message.
Helper factory for creating LogStream instances at different log levels.
Definition Logger.hpp:121