From b5cf93aed93e7f331eb645c8afe5317fb67ee50e Mon Sep 17 00:00:00 2001 From: José Bollo Date: Fri, 13 May 2016 12:43:13 +0200 Subject: new verbose and clean up MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I5217b216d706fd0286c8754e966bca3965d4ea62 Signed-off-by: José Bollo --- plugins/samples/SamplePost.c | 2 +- src/TODO | 4 ++-- src/main.c | 9 +------- src/verbose.c | 27 +++++++++++++++++++++--- src/verbose.h | 49 ++++++++++++++++++++++++++++++++++++-------- 5 files changed, 69 insertions(+), 22 deletions(-) diff --git a/plugins/samples/SamplePost.c b/plugins/samples/SamplePost.c index cfb0c591..2dc09661 100644 --- a/plugins/samples/SamplePost.c +++ b/plugins/samples/SamplePost.c @@ -49,7 +49,7 @@ static void Uploads (struct afb_req request, const char *destination) { struct afb_arg a = afb_req_get(request, "file"); if (a.value == NULL || *a.value == 0) - afb_req_fail_f(request, "failed", "no file selected"); + afb_req_fail(request, "failed", "no file selected"); else afb_req_success_f(request, NULL, "uploaded file %s of path %s for destination %s", a.value, a.path, destination); } diff --git a/src/TODO b/src/TODO index 86373d27..0b6b180a 100644 --- a/src/TODO +++ b/src/TODO @@ -1,4 +1,4 @@ -april 8, 2016 +may 13th 2016 ------------- - - finish properly websockets (the structure is currently pending) + - - diff --git a/src/main.c b/src/main.c index 0c4e42f7..124d7e44 100644 --- a/src/main.c +++ b/src/main.c @@ -20,17 +20,11 @@ #include #include -#include #include #include #include #include -#include - #include -#include -#include -#include #include @@ -576,8 +570,7 @@ int main(int argc, char *argv[]) { struct afb_config *config; struct sd_event *eventloop; - // open syslog if ever needed - openlog("afb-daemon", 0, LOG_DAEMON); + LOGAUTH("afb-daemon"); // ------------- Build session handler & init config ------- config = calloc (1, sizeof (struct afb_config)); diff --git a/src/verbose.c b/src/verbose.c index 3f971ce3..82de1779 100644 --- a/src/verbose.c +++ b/src/verbose.c @@ -1,5 +1,5 @@ /* - Copyright 2015 IoT.bzh + Copyright 2016 IoT.bzh author: José Bollo @@ -16,11 +16,13 @@ limitations under the License. */ +#include "verbose.h" + +#if !defined(VERBOSE_WITH_SYSLOG) + #include #include -#include "verbose.h" - int verbosity = 1; static const char *prefixes[] = { @@ -44,3 +46,22 @@ void verbose(int level, const char *file, int line, const char *fmt, ...) va_end(ap); fprintf(stderr, " [%s:%d]\n", file, line); } + +#endif + +#if defined(VERBOSE_WITH_SYSLOG) && !defined(NDEBUG) + +int verbosity = 1; + +#endif + +#if defined(VERBOSE_WITH_SYSLOG) && defined(NDEBUG) + +void verbose_error(const char *file, int line) +{ + syslog(LOG_ERR, "error file %s line %d", file, line); +} + +#endif + + diff --git a/src/verbose.h b/src/verbose.h index c5feb87b..ccd8eaf6 100644 --- a/src/verbose.h +++ b/src/verbose.h @@ -18,12 +18,45 @@ #pragma once -extern int verbosity; -extern void verbose(int level, const char *file, int line, const char *fmt, ...); - -#define ERROR(...) do{if(verbosity>=0)verbose(3,__FILE__,__LINE__,__VA_ARGS__);}while(0) -#define WARNING(...) do{if(verbosity>=1)verbose(4,__FILE__,__LINE__,__VA_ARGS__);}while(0) -#define NOTICE(...) do{if(verbosity>=1)verbose(5,__FILE__,__LINE__,__VA_ARGS__);}while(0) -#define INFO(...) do{if(verbosity>=2)verbose(6,__FILE__,__LINE__,__VA_ARGS__);}while(0) -#define DEBUG(...) do{if(verbosity>=3)verbose(7,__FILE__,__LINE__,__VA_ARGS__);}while(0) +#if !defined(VERBOSE_WITH_SYSLOG) + + extern int verbosity; + extern void verbose(int level, const char *file, int line, const char *fmt, ...); + +# define ERROR(...) do{if(verbosity>=0)verbose(3,__FILE__,__LINE__,__VA_ARGS__);}while(0) +# define WARNING(...) do{if(verbosity>=1)verbose(4,__FILE__,__LINE__,__VA_ARGS__);}while(0) +# define NOTICE(...) do{if(verbosity>=1)verbose(5,__FILE__,__LINE__,__VA_ARGS__);}while(0) +# define INFO(...) do{if(verbosity>=2)verbose(6,__FILE__,__LINE__,__VA_ARGS__);}while(0) +# define DEBUG(...) do{if(verbosity>=3)verbose(7,__FILE__,__LINE__,__VA_ARGS__);}while(0) +# define LOGUSER(app) NOTICE("Starting user application %s",app) +# define LOGAUTH(app) NOTICE("Starting auth application %s",app) + +#else /* VERBOSE_WITH_SYSLOG is defined */ + +# include + +# define LOGUSER(app) openlog(app,LOG_PERROR,LOG_USER) +# define LOGAUTH(app) openlog(app,LOG_PERROR,LOG_AUTH) + +# if !defined(NDEBUG) + + extern int verbosity; +# define ERROR(...) syslog(LOG_ERR,__VA_ARGS__) +# define WARNING(...) do{if(verbosity)syslog(LOG_WARNING,__VA_ARGS__);}while(0) +# define NOTICE(...) do{if(verbosity)syslog(LOG_NOTICE,__VA_ARGS__);}while(0) +# define INFO(...) do{if(verbosity>1)syslog(LOG_INFO,__VA_ARGS__);}while(0) +# define DEBUG(...) do{if(verbosity>2)syslog(LOG_DEBUG,__VA_ARGS__);}while(0) + +# else + + extern void verbose_error(const char *file, int line); +# define ERROR(...) verbose_error(__FILE__,__LINE__) +# define WARNING(...) do{/*nothing*/}while(0) +# define NOTICE(...) do{/*nothing*/}while(0) +# define INFO(...) do{/*nothing*/}while(0) +# define DEBUG(...) do{/*nothing*/}while(0) + +# endif + +#endif -- cgit 1.2.3-korg