From d45f8674ced71594fa9ba99900cc87a19fcecb20 Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Thu, 6 Jul 2017 11:59:36 +0200 Subject: [PATCH] util: logging to the afb daemon Signed-off-by: Marcus Fritzsch --- src/main.cpp | 3 +-- src/util.cpp | 58 ---------------------------------------------------------- src/util.hpp | 20 ++++++++++++++------ 3 files changed, 15 insertions(+), 66 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index a2331c4..7be0b57 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,9 +5,8 @@ #include #include -#define AFB_BINDING_VERSION 2 - extern "C" { +#define AFB_BINDING_VERSION 2 #include #include } diff --git a/src/util.cpp b/src/util.cpp index 623702d..5042342 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -8,64 +8,6 @@ #include -struct strftime_cache { - time_t time; - char buf[128]; -}; - -static void log_(char const *log_type, FILE *stream, char const *fmt, - va_list args) { - static struct strftime_cache strft; - - time_t t = time(nullptr); - if (t != strft.time) { - strft.time = t; - struct tm tm; - struct tm *tmp = localtime_r(&t, &tm); - strftime(strft.buf, sizeof(strft.buf), "%Y-%m-%dT%H:%M:%S", tmp); - } - - fputs(program_invocation_short_name, stream); - fputs(" ", stream); - fputs(strft.buf, stream); - fputs(" ", stream); - fputs(log_type, stream); - fputs(" ", stream); - vfprintf(stream, fmt, args); - fputs("\n", stream); -} - -void lognotice(char const *fmt, ...) noexcept { - va_list a; - va_start(a, fmt); - log_("notice", stdout, fmt, a); - va_end(a); -} - -void logerror(char const *fmt, ...) noexcept { - va_list a; - va_start(a, fmt); - log_("error", stderr, fmt, a); - va_end(a); -} - -void fatal(char const *fmt, ...) noexcept { - va_list a; - va_start(a, fmt); - log_("fatal", stderr, fmt, a); - va_end(a); - abort(); -} - -#ifdef DEBUG_OUTPUT -void logdebug(char const *fmt, ...) noexcept { - va_list a; - va_start(a, fmt); - log_("debug", stdout, fmt, a); - va_end(a); -} -#endif - void Poller::add_fd(int fd, std::function handler) { pfds.emplace_back(pollfd{.fd = fd, .events = POLLIN, .revents = 0}); handlers.emplace_back(std::move(handler)); diff --git a/src/util.hpp b/src/util.hpp index 0a3b8de..94838c0 100644 --- a/src/util.hpp +++ b/src/util.hpp @@ -5,6 +5,11 @@ #include #include +extern "C" { +#define AFB_BINDING_VERSION 2 +#include +}; + #ifdef __GNUC__ #define ATTR_FORMAT(stringindex, firsttocheck) \ __attribute__((format(printf, stringindex, firsttocheck))) @@ -14,15 +19,18 @@ #define ATTR_NORETURN #endif -void lognotice(char const *fmt, ...) noexcept ATTR_FORMAT(1, 2); -void logerror(char const *fmt, ...) noexcept ATTR_FORMAT(1, 2); -void fatal(char const *fmt, ...) noexcept ATTR_FORMAT(1, 2) ATTR_NORETURN; +#define lognotice(...) AFB_NOTICE(__VA_ARGS__) +#define logerror(...) AFB_ERROR(__VA_ARGS__) +#define fatal(...) \ + do { \ + AFB_ERROR(__VA_ARGS__); \ + abort(); \ + } while (0) #ifdef DEBUG_OUTPUT -void logdebug(char const *fmt, ...) noexcept ATTR_FORMAT(1, 2); +#define logdebug(...) AFB_DEBUG(__VA_ARGS__) #else -static inline void logdebug(char const *fmt, ...) noexcept ATTR_FORMAT(1, 2); -static inline void logdebug(char const *fmt, ...) noexcept {} +#define logdebug(...) #endif // _ _ _ __ _ -- 2.16.6