14#ifndef IOX2_BB_REPORTING_ERROR_REPORTING_CUSTOM_DEFAULT_ERROR_REPORTING_IMPL_HPP
15#define IOX2_BB_REPORTING_ERROR_REPORTING_CUSTOM_DEFAULT_ERROR_REPORTING_IMPL_HPP
58template <
class Message>
75template <
class Kind,
class Error>
79 auto module = toModule(error);
87 <<
errorName <<
" (code = " << code.value <<
")] in module [" << moduleName
88 <<
" (id = " <<
module.value << ")]");
104 auto module = toModule(error);
112 <<
kind.name <<
"] [" <<
errorName <<
" (code = " << code.value <<
")] in module ["
113 << moduleName <<
" (id = " <<
module.value << ")]");
119template <
class Kind,
class Error>
124 auto module = toModule(error);
129 <<
kind.name <<
"]");
134template <
class Kind,
class Error,
class Message>
143 auto module = toModule(error);
148 <<
kind.name <<
"] " << std::forward<Message>(
msg));
154template <
class Error>
162template <
class Error>
170template <
class Error,
class Message>
180template <
class Error,
class Message>
static Interface & get() noexcept
obtain the current singleton instance
This class provides the public interface to the logger and is used with the 'IOX2_LOG' macro....
#define IOX2_ERROR_INTERNAL_LOG(location, msg_stream)
Log the location of an error.
#define IOX2_ERROR_INTERNAL_LOG_FATAL(location, msg_stream)
Log the location of a fatal error.
#define IOX2_ERROR_INTERNAL_LOG_PANIC(location, msg_stream)
Log a panic invocation.
void report(const bb::detail::SourceLocation &location, Kind kind, const Error &error, const char *stringifiedCondition)
log::LogStream & logStringifiedCondition(log::LogStream &stream, const char *stringifiedCondition)
ErrorCode toCode(const Error &error)
const char * toErrorName(const Error &error)
void report(const bb::detail::SourceLocation &location, Kind, const Error &error, const char *stringifiedCondition)
const char * toModuleName(const Error &error)
constexpr bool always_false_v
Helper value to bind a static_assert to a type.
helper struct to create an expected which is signalling an error more easily
Contains all required information about the error. Can be extended as needed without breaking the int...