15#ifndef ESO_UATOOLS_PROTOCOL_OPEN62541_LOGGING_H_
16#define ESO_UATOOLS_PROTOCOL_OPEN62541_LOGGING_H_
24#ifdef UA_ENABLE_AMALGAMATION
25# include <open62541.h>
27# include <open62541/plugin/log.h>
28# include <open62541/config.h>
32 static constexpr const char* LOGGER_NAME =
"open62541";
35static void CustomOpen62541Log(
void* ,
40 char buffer[1024] = {};
41 auto buffer_size =
sizeof(buffer);
42 auto ret_val = vsnprintf(buffer, buffer_size, msg, args);
44 std::cerr <<
"Logging message too big for the allocated buffer\n";
57 case UA_LOGLEVEL_TRACE:
UATTRACE(
"[open62541] {}", buffer);
break;
58 case UA_LOGLEVEL_DEBUG:
UATDEBUG(
"[open62541] {}", buffer);
break;
59 case UA_LOGLEVEL_INFO:
UATINFO(
"[open62541] {}", buffer);
break;
60 case UA_LOGLEVEL_WARNING:
UATWARNING(
"[open62541] {}", buffer);
break;
61 case UA_LOGLEVEL_ERROR:
UATERROR(
"[open62541] {}", buffer);
break;
62 case UA_LOGLEVEL_FATAL:
UATERROR(
"[open62541][FATAL] {}", buffer);
break;
63 default:
UATINFO(
"[open62541] {}", buffer);
break;
67#if ((UA_OPEN62541_VER_MAJOR * 100 + UA_OPEN62541_VER_MINOR) * 100 + UA_OPEN62541_VER_PATCH) >= 10400
71[[maybe_unused]]
static void CustomOpen62541LogClear(UA_Logger* ) {}
73[[deprecated(
"use CustomOpen62541LogClear(UA_Logger*)")]]
75[[maybe_unused]]
static void CustomOpen62541LogClear(
void* ) {}
80[[maybe_unused]]
static UA_Logger CustomLogger =
81{ CustomOpen62541Log,
nullptr, CustomOpen62541LogClear };
uatools logging abstraction.
#define UATERROR(fmt_str,...)
Definition logger.hpp:220
#define UATWARNING(fmt_str,...)
Definition logger.hpp:217
#define UATTRACE(...)
Trace macro.
Definition logger.hpp:201
#define UATDEBUG(fmt_str,...)
Definition logger.hpp:211
#define UATINFO(fmt_str,...)
Definition logger.hpp:214