X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Fafb%2Fafb-verbosity.h;h=dd34f841d8bd837f00222c8e51ee323b274fbe43;hb=refs%2Fchanges%2F95%2F14495%2F2;hp=6c297562b514a1c2fd1ba3e23bbeed3756c3b6cd;hpb=6d8d9dc5aad148a74bcdf8965bee9f7058a08166;p=src%2Fapp-framework-binder.git diff --git a/include/afb/afb-verbosity.h b/include/afb/afb-verbosity.h index 6c297562..dd34f841 100644 --- a/include/afb/afb-verbosity.h +++ b/include/afb/afb-verbosity.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017 "IoT.bzh" + * Copyright (C) 2016, 2017, 2018 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,9 +23,42 @@ #define AFB_VERBOSITY_LEVEL_INFO 3 #define AFB_VERBOSITY_LEVEL_DEBUG 4 -#define _AFB_SYSLOG_LEVEL_ERROR_ 3 -#define _AFB_SYSLOG_LEVEL_WARNING_ 4 -#define _AFB_SYSLOG_LEVEL_NOTICE_ 5 -#define _AFB_SYSLOG_LEVEL_INFO_ 6 -#define _AFB_SYSLOG_LEVEL_DEBUG_ 7 +#define AFB_SYSLOG_LEVEL_EMERGENCY 0 +#define AFB_SYSLOG_LEVEL_ALERT 1 +#define AFB_SYSLOG_LEVEL_CRITICAL 2 +#define AFB_SYSLOG_LEVEL_ERROR 3 +#define AFB_SYSLOG_LEVEL_WARNING 4 +#define AFB_SYSLOG_LEVEL_NOTICE 5 +#define AFB_SYSLOG_LEVEL_INFO 6 +#define AFB_SYSLOG_LEVEL_DEBUG 7 + +#define AFB_VERBOSITY_LEVEL_WANT(verbosity,level) ((verbosity) >= (level)) + +#define AFB_VERBOSITY_LEVEL_WANT_ERROR(x) AFB_VERBOSITY_LEVEL_WANT(x,AFB_VERBOSITY_LEVEL_ERROR) +#define AFB_VERBOSITY_LEVEL_WANT_WARNING(x) AFB_VERBOSITY_LEVEL_WANT(x,AFB_VERBOSITY_LEVEL_WARNING) +#define AFB_VERBOSITY_LEVEL_WANT_NOTICE(x) AFB_VERBOSITY_LEVEL_WANT(x,AFB_VERBOSITY_LEVEL_NOTICE) +#define AFB_VERBOSITY_LEVEL_WANT_INFO(x) AFB_VERBOSITY_LEVEL_WANT(x,AFB_VERBOSITY_LEVEL_INFO) +#define AFB_VERBOSITY_LEVEL_WANT_DEBUG(x) AFB_VERBOSITY_LEVEL_WANT(x,AFB_VERBOSITY_LEVEL_DEBUG) + +#define AFB_SYSLOG_MASK_WANT(verbomask,level) ((verbomask) & (1 << (level))) + +#define AFB_SYSLOG_MASK_WANT_EMERGENCY(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_EMERGENCY) +#define AFB_SYSLOG_MASK_WANT_ALERT(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_ALERT) +#define AFB_SYSLOG_MASK_WANT_CRITICAL(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_CRITICAL) +#define AFB_SYSLOG_MASK_WANT_ERROR(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_ERROR) +#define AFB_SYSLOG_MASK_WANT_WARNING(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_WARNING) +#define AFB_SYSLOG_MASK_WANT_NOTICE(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_NOTICE) +#define AFB_SYSLOG_MASK_WANT_INFO(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_INFO) +#define AFB_SYSLOG_MASK_WANT_DEBUG(x) AFB_SYSLOG_MASK_WANT(x,AFB_SYSLOG_LEVEL_DEBUG) + +#define AFB_SYSLOG_LEVEL_FROM_VERBOSITY(x) ((x) + (AFB_SYSLOG_LEVEL_ERROR - AFB_VERBOSITY_LEVEL_ERROR)) +#define AFB_SYSLOG_LEVEL_TO_VERBOSITY(x) ((x) + (AFB_VERBOSITY_LEVEL_ERROR - AFB_SYSLOG_LEVEL_ERROR)) + +static inline int _afb_verbomask_to_upper_level_(int verbomask) +{ + int result = 0; + while ((verbomask >>= 1) && result < AFB_SYSLOG_LEVEL_DEBUG) + result++; + return result; +}