EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
Logger.hpp File Reference

EchoMap portable logger specification. More...

#include <format>
#include <source_location>
#include <string_view>

Go to the source code of this file.

Classes

class  echomap::Logger
 A portable (native and browser) and thread-safe logger implementation for formatted messages. More...

Namespaces

namespace  echomap
 The main EchoMap outermost namespace for all non-exported symbols.

Macros

#define LOG_F_DEBUG(msg, ...)
 Conditionally logs a formatted debug-level message using echomap::Logger::log_f.
#define LOG_F_INFO(msg, ...)
 Logs a formatted info-level message using echomap::Logger::log_f.
#define LOG_F_WARN(msg, ...)
 Logs a formatted warning-level message using echomap::Logger::log_f.
#define LOG_F_ERROR(msg, ...)
 Logs a formatted error-level message using echomap::Logger::log_f.
#define LOG_DEBUG(msg, ...)
 Conditionally logs an unformatted debug-level message using echomap::Logger::log.
#define LOG_INFO(msg)
 Logs an unformatted info-level message using echomap::Logger::log.
#define LOG_WARN(msg)
 Logs an unformatted warning-level message using echomap::Logger::log.
#define LOG_ERROR(msg)
 Logs an unformatted error-level message using echomap::Logger::log.

Detailed Description

EchoMap portable logger specification.

Author
Oliver Dixon
Date
2026-06-20

Definition in file Logger.hpp.

Macro Definition Documentation

◆ LOG_DEBUG

#define LOG_DEBUG ( msg,
... )
Value:
do { \
Logger::log(Logger::Level::Debug, msg, std::source_location::current()); \
} while (0)
T current(T... args)

Conditionally logs an unformatted debug-level message using echomap::Logger::log.

Parameters
msgThe string literal to log.

Definition at line 141 of file Logger.hpp.

141#define LOG_DEBUG(msg, ...) \
142 do { \
143 Logger::log(Logger::Level::Debug, msg, std::source_location::current()); \
144 } while (0)

◆ LOG_ERROR

#define LOG_ERROR ( msg)
Value:
do { \
Logger::log(Logger::Level::Error, msg, std::source_location::current()); \
} while (0)

Logs an unformatted error-level message using echomap::Logger::log.

Parameters
msgThe string literal to log.

Definition at line 172 of file Logger.hpp.

172#define LOG_ERROR(msg) \
173 do { \
174 Logger::log(Logger::Level::Error, msg, std::source_location::current()); \
175 } while (0)

◆ LOG_F_DEBUG

#define LOG_F_DEBUG ( msg,
... )
Value:
do { \
Logger::log_f(Logger::Level::Debug, std::source_location::current(), msg, __VA_ARGS__); \
} while (0)

Conditionally logs a formatted debug-level message using echomap::Logger::log_f.

Parameters
msgThe format string, followed by formatted values.

Definition at line 94 of file Logger.hpp.

94#define LOG_F_DEBUG(msg, ...) \
95 do { \
96 Logger::log_f(Logger::Level::Debug, std::source_location::current(), msg, __VA_ARGS__); \
97 } while (0)

◆ LOG_F_ERROR

#define LOG_F_ERROR ( msg,
... )
Value:
do { \
Logger::log_f(Logger::Level::Error, std::source_location::current(), msg, __VA_ARGS__); \
} while (0)

Logs a formatted error-level message using echomap::Logger::log_f.

Parameters
msgThe format string, followed by formatted values.

Definition at line 125 of file Logger.hpp.

125#define LOG_F_ERROR(msg, ...) \
126 do { \
127 Logger::log_f(Logger::Level::Error, std::source_location::current(), msg, __VA_ARGS__); \
128 } while (0)

◆ LOG_F_INFO

#define LOG_F_INFO ( msg,
... )
Value:
do { \
Logger::log_f(Logger::Level::Info, std::source_location::current(), msg, __VA_ARGS__); \
} while (0)

Logs a formatted info-level message using echomap::Logger::log_f.

Parameters
msgThe format string, followed by formatted values.

Definition at line 105 of file Logger.hpp.

105#define LOG_F_INFO(msg, ...) \
106 do { \
107 Logger::log_f(Logger::Level::Info, std::source_location::current(), msg, __VA_ARGS__); \
108 } while (0)

◆ LOG_F_WARN

#define LOG_F_WARN ( msg,
... )
Value:
do { \
Logger::log_f(Logger::Level::Warning, std::source_location::current(), msg, __VA_ARGS__); \
} while (0)

Logs a formatted warning-level message using echomap::Logger::log_f.

Parameters
msgThe format string, followed by formatted values.

Definition at line 115 of file Logger.hpp.

115#define LOG_F_WARN(msg, ...) \
116 do { \
117 Logger::log_f(Logger::Level::Warning, std::source_location::current(), msg, __VA_ARGS__); \
118 } while (0)

◆ LOG_INFO

#define LOG_INFO ( msg)
Value:
do { \
Logger::log(Logger::Level::Info, msg, std::source_location::current()); \
} while (0)

Logs an unformatted info-level message using echomap::Logger::log.

Parameters
msgThe string literal to log.

Definition at line 152 of file Logger.hpp.

152#define LOG_INFO(msg) \
153 do { \
154 Logger::log(Logger::Level::Info, msg, std::source_location::current()); \
155 } while (0)

◆ LOG_WARN

#define LOG_WARN ( msg)
Value:
do { \
Logger::log(Logger::Level::Warning, msg, std::source_location::current()); \
} while (0)

Logs an unformatted warning-level message using echomap::Logger::log.

Parameters
msgThe string literal to log.

Definition at line 162 of file Logger.hpp.

162#define LOG_WARN(msg) \
163 do { \
164 Logger::log(Logger::Level::Warning, msg, std::source_location::current()); \
165 } while (0)