1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /*
- * This work is licensed under a Creative Commons CCZero 1.0 Universal License.
- * See http://creativecommons.org/publicdomain/zero/1.0/ for more information.
- */
- #include <stdio.h>
- #include "logger_stdout.h"
- static void print_time(void) {
- UA_DateTime now = UA_DateTime_now();
- UA_ByteString str;
- UA_DateTime_toString(now, &str);
- printf("%.27s", str.data); //a bit hacky way not to display nanoseconds
- UA_ByteString_deleteMembers(&str);
- }
- #define LOG_FUNCTION(LEVEL) \
- static void log_##LEVEL(UA_LoggerCategory category, const char *msg) { \
- printf("["); \
- print_time(); \
- printf("] " #LEVEL "/%s\t%s\n", UA_LoggerCategoryNames[category], msg); \
- }
- LOG_FUNCTION(trace)
- LOG_FUNCTION(debug)
- LOG_FUNCTION(info)
- LOG_FUNCTION(warning)
- LOG_FUNCTION(error)
- LOG_FUNCTION(fatal)
- UA_Logger Logger_Stdout_new(void) {
- return (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
- };
- }
|