#include #include #include "logger_stdout.h" #include "ua_log.h" #include "ua_types.h" void print_time() { UA_DateTime now = UA_DateTime_now(); UA_ByteString str; UA_DateTime_toString(now, &str); printf("\"%.*s\"}", str.length, str.data); UA_ByteString_deleteMembers(&str); } #define LOG_FUNCTION(LEVEL) \ void log_##LEVEL(UA_LoggerCategory category, const char *msg, ...) { \ va_list args; \ puts("##LEVEL - "); \ print_time(); \ puts(" - "); \ va_start(args, msg); \ vprintf(msg, args); \ puts("\n"); \ va_end(args); \ } LOG_FUNCTION(trace) LOG_FUNCTION(debug) LOG_FUNCTION(info) LOG_FUNCTION(warning) LOG_FUNCTION(error) LOG_FUNCTION(fatal) void Logger_Stdout_init(void *config) { logger = (UA_Logger){ .log_trace = log_trace, .log_debug = log_debug, .log_info = log_info, .log_warning = log_warning, .log_error = log_error, .log_fatal = log_fatal }; }