[Freeipa-devel] [PATCH 0041] Cleanup in logging code
Adam Tkac
atkac at redhat.com
Thu Jul 26 08:06:47 UTC 2012
On Wed, Jul 25, 2012 at 03:31:34PM +0200, Petr Spacek wrote:
> Hello,
>
> this patch clears logging code a bit. Adding functions like
> log_info() and similar will be trivial from now.
>
> It will be necessary for ticket #71: Log successful reconnect
> https://fedorahosted.org/bind-dyndb-ldap/ticket/71
Ack.
> From 26136d6fe5fce5ac4f3138063bcf4774f268bd3c Mon Sep 17 00:00:00 2001
> From: Petr Spacek <pspacek at redhat.com>
> Date: Thu, 19 Jul 2012 14:13:12 +0200
> Subject: [PATCH] Cleanup in logging code.
>
> Signed-off-by: Petr Spacek <pspacek at redhat.com>
> ---
> src/log.c | 22 ++--------------------
> src/log.h | 19 ++++++++++++++++---
> 2 files changed, 18 insertions(+), 23 deletions(-)
>
> diff --git a/src/log.c b/src/log.c
> index b23e4720a8dd484a65d8a7e6c58baf257fc9ce50..f731df706b58e1f894659811dae32d4148a8620c 100644
> --- a/src/log.c
> +++ b/src/log.c
> @@ -28,31 +28,13 @@
> #include "log.h"
>
> void
> -log_debug(int level, const char *format, ...)
> +log_write(int level, const char *format, ...)
> {
> va_list args;
>
> va_start(args, format);
> -#ifdef LOG_AS_ERROR
> - UNUSED(level);
> isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB,
> - ISC_LOG_ERROR, format, args);
> -#else
> - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB,
> - ISC_LOG_DEBUG(level), format, args);
> -#endif
> -
> - va_end(args);
> -}
> -
> -void
> -log_error(const char *format, ...)
> -{
> - va_list args;
> -
> - va_start(args, format);
> - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB,
> - ISC_LOG_ERROR, format, args);
> + level, format, args);
> va_end(args);
>
> }
> diff --git a/src/log.h b/src/log.h
> index 0df4e25618fab932bdec97c276580d1b9d31bf08..898639be144dbf6049a1440493c3358e01a5c2dd 100644
> --- a/src/log.h
> +++ b/src/log.h
> @@ -22,18 +22,31 @@
> #define _LD_LOG_H_
>
> #include <isc/error.h>
> +#include <dns/log.h>
> +
> +#ifdef LOG_AS_ERROR
> +#define GET_LOG_LEVEL(level) ISC_LOG_ERROR
> +#else
> +#define GET_LOG_LEVEL(level) (level)
> +#endif
>
> #define fatal_error(...) \
> isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__)
>
> #define log_bug(fmt, ...) \
> log_error("bug in %s(): " fmt, __func__,##__VA_ARGS__)
>
> #define log_error_r(fmt, ...) \
> - log_error(fmt ": %s", ##__VA_ARGS__, isc_result_totext(result))
> + log_error(fmt ": %s", ##__VA_ARGS__, dns_result_totext(result))
>
> /* Basic logging functions */
> -void log_debug(int level, const char *format, ...) ISC_FORMAT_PRINTF(2, 3);
> -void log_error(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
> +#define log_error(format, ...) \
> + log_write(GET_LOG_LEVEL(ISC_LOG_ERROR), format, ##__VA_ARGS__)
> +
> +#define log_debug(level, format, ...) \
> + log_write(GET_LOG_LEVEL(level), format, ##__VA_ARGS__)
> +
> +void
> +log_write(int level, const char *format, ...) ISC_FORMAT_PRINTF(2, 3);
>
> #endif /* !_LD_LOG_H_ */
> --
> 1.7.10.4
>
--
Adam Tkac, Red Hat, Inc.
More information about the Freeipa-devel
mailing list