From 095ff12cd21a2d404ebec9b237f6cac8d556db2a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kou=C5=99il?= Date: Fri, 17 Mar 2006 14:15:27 +0000 Subject: [PATCH] Implemented a logging call --- .../interface/renewal_core.h | 11 +++++++- org.glite.security.proxyrenewal/src/renewal_core.c | 29 ++++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/org.glite.security.proxyrenewal/interface/renewal_core.h b/org.glite.security.proxyrenewal/interface/renewal_core.h index f20ac8a..dc08c1c 100644 --- a/org.glite.security.proxyrenewal/interface/renewal_core.h +++ b/org.glite.security.proxyrenewal/interface/renewal_core.h @@ -7,9 +7,18 @@ extern "C" { #endif +typedef enum { + GLITE_RENEWAL_LOG_NONE, + GLITE_RENEWAL_LOG_STDOUT, + GLITE_RENEWAL_LOG_SYSLOG, +} glite_renewal_log_dst; + typedef struct glite_renewal_core_context_data { - int dbg_level; + int log_level; + glite_renewal_log_dst log_dst; + char *err_message; int voms_enabled; + char *voms_conf; } glite_renewal_core_context_data; typedef struct glite_renewal_core_context_data *glite_renewal_core_context; diff --git a/org.glite.security.proxyrenewal/src/renewal_core.c b/org.glite.security.proxyrenewal/src/renewal_core.c index 31ade6f..cbcb2e6 100644 --- a/org.glite.security.proxyrenewal/src/renewal_core.c +++ b/org.glite.security.proxyrenewal/src/renewal_core.c @@ -242,7 +242,32 @@ glite_renewal_core_destroy_ctx(glite_renewal_core_context context) void edg_wlpr_Log(glite_renewal_core_context context, int dbg_level, const char *format, ...) { + va_list ap; + + if (context->err_message) { + free(context->err_message); + context->err_message = NULL; + } + + /* cannot handle the %m format argument specific for syslog() */ + va_start(ap, format); + vasprintf(&context->err_message, format, ap); + va_end(ap); + + if (dbg_level > context->log_level) + return; + + switch (context->log_dst) { + case GLITE_RENEWAL_LOG_STDOUT: + printf("[%d] %s\n", getpid(), context->err_message); + break; + case GLITE_RENEWAL_LOG_SYSLOG: + syslog(dbg_level, "%s", context->err_message); + break; + case GLITE_RENEWAL_LOG_NONE: + default: + break; + } + return; } - -char *vomsconf = NULL; -- 1.8.2.3