X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Fcommon.h;h=03d2fbb6cf20cba49da0fe8d77c78d129bc383c7;hb=520b2f3bb198bfbb88b90b058ef610f0a9b980c6;hp=9b86f09324271972f8c35290899fb8abd65b3f28;hpb=8ad7a11fd6ad8b8f5edfbde9da16a18b7a846738;p=apps%2Fpfixtools.git diff --git a/common/common.h b/common/common.h index 9b86f09..03d2fbb 100644 --- a/common/common.h +++ b/common/common.h @@ -57,9 +57,6 @@ #include "mem.h" -#define UNIXERR(fun) \ - syslog(LOG_ERR, "%s:%d:%s: %s: %m", \ - __FILE__, __LINE__, __func__, fun) #define __tostr(x) #x #define STR(x) __tostr(x) @@ -73,8 +70,26 @@ typedef void (*exitcall_t)(void); #define module_init(fn) static __init initcall_t __init_##fn = fn; #define module_exit(fn) static __exit exitcall_t __exit_##fn = fn; +#define __log(Level, Fmt, ...) \ + if (log_level >= Level) { \ + syslog(Level, Fmt, ##__VA_ARGS__); \ + } + +#define debug(Fmt, ...) __log(LOG_DEBUG, Fmt, ##__VA_ARGS__) +#define notice(Fmt, ...) __log(LOG_NOTICE, Fmt, ##__VA_ARGS__) +#define info(Fmt, ...) __log(LOG_INFO, Fmt, ##__VA_ARGS__) +#define warn(Fmt, ...) __log(LOG_WARNING, Fmt, ##__VA_ARGS__) +#define err(Fmt, ...) __log(LOG_ERR, Fmt, ##__VA_ARGS__) +#define crit(Fmt, ...) __log(LOG_CRIT, Fmt, ##__VA_ARGS__) +#define alert(Fmt, ...) __log(LOG_ALERT, Fmt, ##__VA_ARGS__) +#define emerg(Fmt, ...) __log(LOG_ALERT, Fmt, ##__VA_ARGS__) + +#define UNIXERR(fun) err("%s:%d:%s %s: %m", \ + __FILE__, __LINE__, __func__, fun) + extern sig_atomic_t sigint; extern sig_atomic_t sighup; +extern int log_level; void common_sighandler(int sig); @@ -102,7 +117,7 @@ int common_setup(const char* pidfile, bool unsafe, const char* runas_user, signal(SIGTERM, &common_sighandler); \ signal(SIGHUP, &common_sighandler); \ signal(SIGSEGV, &common_sighandler); \ - syslog(LOG_INFO, "Starting..."); \ + info("starting..."); \ return 0; \ } \ \