From 254d2adab074b020d98f12a61b6d53297d4ad550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Fri, 30 Jun 2017 12:22:00 +0100 Subject: [PATCH] ITS#8731 Rework logging --- include/ldap_log.h | 43 +++++++++++------------------------- libraries/liblber/lber-int.h | 1 + libraries/libldap/ldap-int.h | 31 ++++++++++++++++++-------- libraries/libldap/os-ip.c | 13 ----------- libraries/libldap/os-local.c | 13 ----------- servers/slapd/result.c | 6 ++--- servers/slapd/slap.h | 30 ------------------------- 7 files changed, 39 insertions(+), 98 deletions(-) diff --git a/include/ldap_log.h b/include/ldap_log.h index 808f55fc9e..5930a49a55 100644 --- a/include/ldap_log.h +++ b/include/ldap_log.h @@ -145,26 +145,30 @@ extern void eb_syslog(int pri, const char *fmt, ...); #endif /* HAVE_EBCDIC */ #endif /* LDAP_SYSLOG */ +#endif /* LDAP_DEBUG */ +/* we keep libldap working with preprocessors that can't do variadic macros */ +#ifndef LDAP_INT_DEBUG /* this doesn't below as part of ldap.h */ +#ifdef LDAP_DEBUG #ifdef LDAP_SYSLOG #define LogTest(level) ( ( ldap_debug | ldap_syslog ) & (level) ) -#define LogExpand(level, severity, args) \ +#define Log(level, severity, ...) \ do { \ if ( ldap_debug & (level) ) \ - lutil_debug( ldap_debug, (level), args ); \ + lutil_debug( ldap_debug, (level), __VA_ARGS__ ); \ if ( ldap_syslog & (level) ) \ - syslog( LDAP_LEVEL_MASK((severity)), args ); \ + syslog( LDAP_LEVEL_MASK((severity)), __VA_ARGS__ ); \ } while ( 0 ) #else /* ! LDAP_SYSLOG */ #define LogTest(level) ( ldap_debug & (level) ) -#define LogExpand(level, severity, args) \ +#define Log(level, severity, ...) \ do { \ if ( ldap_debug & (level) ) \ - lutil_debug( ldap_debug, (level), args ); \ + lutil_debug( ldap_debug, (level), __VA_ARGS__ ); \ } while ( 0 ) #endif /* ! LDAP_SYSLOG */ @@ -173,34 +177,13 @@ extern void eb_syslog(int pri, const char *fmt, ...); /* TODO: in case LDAP_DEBUG is undefined, make sure logs with appropriate * severity gets thru anyway */ #define LogTest(level) ( 0 ) -#define LogExpand(level, severity, args) ((void) 0) +#define Log(level, severity, ...) ((void) 0) #endif /* ! LDAP_DEBUG */ -#define LogArg , -#define Log0(level, severity, fmt) \ - LogExpand((level), (severity), (fmt)) -#define Log1(level, severity, fmt, a1) \ - LogExpand((level), (severity), (fmt) LogArg(a1)) -#define Log2(level, severity, fmt, a1, a2) \ - LogExpand((level), (severity), (fmt) LogArg(a1) LogArg(a2)) -#define Log3(level, severity, fmt, a1, a2, a3) \ - LogExpand((level), (severity), (fmt) LogArg(a1) LogArg(a2) LogArg(a3)) -#define Log4(level, severity, fmt, a1, a2, a3, a4) \ - LogExpand((level), (severity), (fmt) LogArg(a1) LogArg(a2) LogArg(a3) \ - LogArg(a4)) -#define Log5(level, severity, fmt, a1, a2, a3, a4, a5) \ - LogExpand((level), (severity), (fmt) LogArg(a1) LogArg(a2) LogArg(a3) \ - LogArg(a4) LogArg(a5)) -#define Log6(level, severity, fmt, a1, a2, a3, a4, a5, a6) \ - LogExpand((level), (severity), (fmt) LogArg(a1) LogArg(a2) LogArg(a3) \ - LogArg(a4) LogArg(a5) LogArg(a6)) -#define Log7(level, severity, fmt, a1, a2, a3, a4, a5, a6, a7) \ - LogExpand((level), (severity), (fmt) LogArg(a1) LogArg(a2) LogArg(a3) \ - LogArg(a4) LogArg(a5) LogArg(a6) LogArg(a7)) -#define Debug(level, fmt, a1, a2, a3) \ - LogExpand((level), ldap_syslog_level, (fmt) \ - LogArg(a1) LogArg(a2) LogArg(a3)) +#define Debug(level, ...) \ + Log((level), ldap_syslog_level, __VA_ARGS__ ) +#endif /* ! LDAP_INT_DEBUG */ /* Actually now in liblber/debug.c */ LDAP_LUTIL_F(int) lutil_debug_file LDAP_P(( FILE *file )); diff --git a/libraries/liblber/lber-int.h b/libraries/liblber/lber-int.h index 7702cb3fce..ad83cdc294 100644 --- a/libraries/liblber/lber-int.h +++ b/libraries/liblber/lber-int.h @@ -27,6 +27,7 @@ #define _LBER_INT_H #include "lber.h" +#define LDAP_INT_DEBUG #include "ldap_log.h" #include "lber_pvt.h" #include "ldap_queue.h" diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h index da6f8f8565..a5b7e46156 100644 --- a/libraries/libldap/ldap-int.h +++ b/libraries/libldap/ldap-int.h @@ -73,28 +73,41 @@ #define ldap_debug ((LDAP_INT_GLOBAL_OPT())->ldo_debug) +#define LDAP_INT_DEBUG #include "ldap_log.h" -#undef Debug - #ifdef LDAP_DEBUG #define DebugTest( level ) \ ( ldap_debug & level ) -#define Debug( level, fmt, arg1, arg2, arg3 ) \ - do { if ( ldap_debug & level ) \ - ldap_log_printf( NULL, (level), (fmt), (arg1), (arg2), (arg3) ); \ +#define Debug0( level, fmt ) \ + do { if ( DebugTest( (level) ) ) \ + ldap_log_printf( NULL, (level), fmt ); \ } while ( 0 ) -#define LDAP_Debug( subsystem, level, fmt, arg1, arg2, arg3 )\ - ldap_log_printf( NULL, (level), (fmt), (arg1), (arg2), (arg3) ) +#define Debug1( level, fmt, arg1 ) \ + do { if ( DebugTest( (level) ) ) \ + ldap_log_printf( NULL, (level), fmt, arg1 ); \ + } while ( 0 ) + +#define Debug2( level, fmt, arg1, arg2 ) \ + do { if ( DebugTest( (level) ) ) \ + ldap_log_printf( NULL, (level), fmt, arg1, arg2 ); \ + } while ( 0 ) + +#define Debug3( level, fmt, arg1, arg2, arg3 ) \ + do { if ( DebugTest( (level) ) ) \ + ldap_log_printf( NULL, (level), fmt, arg1, arg2, arg3 ); \ + } while ( 0 ) #else #define DebugTest( level ) (0 == 1) -#define Debug( level, fmt, arg1, arg2, arg3 ) ((void)0) -#define LDAP_Debug( subsystem, level, fmt, arg1, arg2, arg3 ) ((void)0) +#define Debug0( level, fmt ) ((void)0) +#define Debug1( level, fmt, arg1 ) ((void)0) +#define Debug2( level, fmt, arg1, arg2 ) ((void)0) +#define Debug3( level, fmt, arg1, arg2, arg3 ) ((void)0) #endif /* LDAP_DEBUG */ diff --git a/libraries/libldap/os-ip.c b/libraries/libldap/os-ip.c index a823cc6260..7ab26c9b69 100644 --- a/libraries/libldap/os-ip.c +++ b/libraries/libldap/os-ip.c @@ -50,19 +50,6 @@ int ldap_int_inet4or6 = AF_INET; # endif #endif -#ifdef LDAP_DEBUG - -#define osip_debug(ld,fmt,arg1,arg2,arg3) \ -do { \ - ldap_log_printf(NULL, LDAP_DEBUG_TRACE, fmt, arg1, arg2, arg3); \ -} while(0) - -#else - -#define osip_debug(ld,fmt,arg1,arg2,arg3) ((void)0) - -#endif /* LDAP_DEBUG */ - static void ldap_pvt_set_errno(int err) { diff --git a/libraries/libldap/os-local.c b/libraries/libldap/os-local.c index 9b033dc03f..35dbd9c722 100644 --- a/libraries/libldap/os-local.c +++ b/libraries/libldap/os-local.c @@ -54,19 +54,6 @@ #include "ldap-int.h" #include "ldap_defaults.h" -#ifdef LDAP_DEBUG - -#define oslocal_debug(ld,fmt,arg1,arg2,arg3) \ -do { \ - ldap_log_printf(ld, LDAP_DEBUG_TRACE, fmt, arg1, arg2, arg3); \ -} while(0) - -#else - -#define oslocal_debug(ld,fmt,arg1,arg2,arg3) ((void)0) - -#endif /* LDAP_DEBUG */ - static void ldap_pvt_set_errno(int err) { diff --git a/servers/slapd/result.c b/servers/slapd/result.c index a3dc462952..8ded87ea5d 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -51,12 +51,12 @@ (int)op->o_qtime.tv_sec, (int)op->o_qtime.tv_usec, \ (int)now.tv_sec, (int)now.tv_usec); #define ETIME_LOGFMT "%s " -#define StatslogEtime(lvl,fmt,pfx,tag,err,etxt,xtra) \ - Statslog6(lvl,fmt,pfx,tag,err,timestr,etxt,xtra) +#define StatslogEtime(lvl,fmt,pfx,tag,err,...) \ + Debug(lvl,fmt,pfx,tag,err,timestr,__VA_ARGS__) #else #define ETIME_SETUP #define ETIME_LOGFMT "" -#define StatslogEtime Statslog +#define StatslogEtime Debug #endif /* SLAP_STATS_ETIME */ const struct berval slap_dummy_bv = BER_BVNULL; diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 59da94465e..1baa4042a6 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -3006,37 +3006,7 @@ struct Connection { #ifdef LOG_LOCAL4 #define SLAP_DEFAULT_SYSLOG_USER LOG_LOCAL4 #endif /* LOG_LOCAL4 */ - -#define Statslog( level, fmt, connid, opid, arg1, arg2, arg3 ) \ - Log5( (level), ldap_syslog_level, (fmt), (connid), (opid), (arg1), (arg2), (arg3) ) -#define Statslog6( level, fmt, a1, a2, a3, a4, a5, a6 ) \ - Log6( (level), ldap_syslog_level, (fmt), (a1), (a2), (a3), (a4), (a5), (a6) ) -#define Statslog7( level, fmt, a1, a2, a3, a4, a5, a6, a7 ) \ - Log7( (level), ldap_syslog_level, (fmt), (a1), (a2), (a3), (a4), (a5), (a6), (a7) ) -#define StatslogTest( level ) ((ldap_debug | ldap_syslog) & (level)) -#else /* !LDAP_SYSLOG */ -#define Statslog( level, fmt, connid, opid, arg1, arg2, arg3 ) \ - do { \ - if ( ldap_debug & (level) ) \ - lutil_debug( ldap_debug, (level), (fmt), (connid), (opid), (arg1), (arg2), (arg3) );\ - } while (0) -#define Statslog6( level, fmt, a1, a2, a3, a4, a5, a6 ) \ - do { \ - if ( ldap_debug & (level) ) \ - lutil_debug( ldap_debug, (level), (fmt), (a1), (a2), (a3), (a4), (a5), (a6) ); \ - } while (0) -#define Statslog7( level, fmt, a1, a2, a3, a4, a5, a6, a7 ) \ - do { \ - if ( ldap_debug & (level) ) \ - lutil_debug( ldap_debug, (level), (fmt), (a1), (a2), (a3), (a4), (a5), (a6), (a7) ); \ - } while (0) -#define StatslogTest( level ) (ldap_debug & (level)) #endif /* !LDAP_SYSLOG */ -#else /* !LDAP_DEBUG */ -#define Statslog( level, fmt, connid, opid, arg1, arg2, arg3 ) ((void) 0) -#define Statslog6( level, fmt, a1, a2, a3, a4, a5, a6 ) ((void) 0) -#define Statslog7( level, fmt, a1, a2, a3, a4, a5, a6, a7 ) ((void) 0) -#define StatslogTest( level ) (0) #endif /* !LDAP_DEBUG */ /*