diff options
author | Elliott Hughes <enh@google.com> | 2017-08-07 14:18:18 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2017-08-07 16:58:18 -0700 |
commit | 2a572d125a91a4aafd3ad8ce87259fc640fa0763 (patch) | |
tree | bd05e575a4a2629cc420c5e2bc54f176fee611ab /log.c | |
parent | 596447c7ff2881a67e7082c905112584c3e61a17 (diff) | |
download | libevent-2a572d125a91a4aafd3ad8ce87259fc640fa0763.tar.gz |
Upgrade to 2.1.8-stable (2017-01-22).
Bug: N/A
Test: builds
Change-Id: Idbbdc1db3d01984a4f4b60f8fdf455140b6b7ca6
Diffstat (limited to 'log.c')
-rw-r--r-- | log.c | 67 |
1 files changed, 48 insertions, 19 deletions
@@ -38,8 +38,9 @@ */ #include "event2/event-config.h" +#include "evconfig-private.h" -#ifdef WIN32 +#ifdef _WIN32 #include <winsock2.h> #define WIN32_LEAN_AND_MEAN #include <windows.h> @@ -56,13 +57,38 @@ #include "log-internal.h" -static void _warn_helper(int severity, const char *errstr, const char *fmt, - va_list ap); static void event_log(int severity, const char *msg); static void event_exit(int errcode) EV_NORETURN; static event_fatal_cb fatal_fn = NULL; +#ifdef EVENT_DEBUG_LOGGING_ENABLED +#ifdef USE_DEBUG +#define DEFAULT_MASK EVENT_DBG_ALL +#else +#define DEFAULT_MASK 0 +#endif + +#ifdef USE_GLOBAL_FOR_DEBUG_LOGGING +ev_uint32_t event_debug_logging_mask_ = DEFAULT_MASK; +#else +static ev_uint32_t event_debug_logging_mask_ = DEFAULT_MASK; +ev_uint32_t +event_debug_get_logging_mask_(void) +{ + return event_debug_logging_mask_; +} +#endif +#endif /* EVENT_DEBUG_LOGGING_ENABLED */ + +void +event_enable_debug_logging(ev_uint32_t which) +{ +#ifdef EVENT_DEBUG_LOGGING_ENABLED + event_debug_logging_mask_ = which; +#endif +} + void event_set_fatal_callback(event_fatal_cb cb) { @@ -75,7 +101,7 @@ event_exit(int errcode) if (fatal_fn) { fatal_fn(errcode); exit(errcode); /* should never be reached */ - } else if (errcode == _EVENT_ERR_ABORT) + } else if (errcode == EVENT_ERR_ABORT_) abort(); else exit(errcode); @@ -87,7 +113,7 @@ event_err(int eval, const char *fmt, ...) va_list ap; va_start(ap, fmt); - _warn_helper(_EVENT_LOG_ERR, strerror(errno), fmt, ap); + event_logv_(EVENT_LOG_ERR, strerror(errno), fmt, ap); va_end(ap); event_exit(eval); } @@ -98,7 +124,7 @@ event_warn(const char *fmt, ...) va_list ap; va_start(ap, fmt); - _warn_helper(_EVENT_LOG_WARN, strerror(errno), fmt, ap); + event_logv_(EVENT_LOG_WARN, strerror(errno), fmt, ap); va_end(ap); } @@ -109,7 +135,7 @@ event_sock_err(int eval, evutil_socket_t sock, const char *fmt, ...) int err = evutil_socket_geterror(sock); va_start(ap, fmt); - _warn_helper(_EVENT_LOG_ERR, evutil_socket_error_to_string(err), fmt, ap); + event_logv_(EVENT_LOG_ERR, evutil_socket_error_to_string(err), fmt, ap); va_end(ap); event_exit(eval); } @@ -121,7 +147,7 @@ event_sock_warn(evutil_socket_t sock, const char *fmt, ...) int err = evutil_socket_geterror(sock); va_start(ap, fmt); - _warn_helper(_EVENT_LOG_WARN, evutil_socket_error_to_string(err), fmt, ap); + event_logv_(EVENT_LOG_WARN, evutil_socket_error_to_string(err), fmt, ap); va_end(ap); } @@ -131,7 +157,7 @@ event_errx(int eval, const char *fmt, ...) va_list ap; va_start(ap, fmt); - _warn_helper(_EVENT_LOG_ERR, NULL, fmt, ap); + event_logv_(EVENT_LOG_ERR, NULL, fmt, ap); va_end(ap); event_exit(eval); } @@ -142,7 +168,7 @@ event_warnx(const char *fmt, ...) va_list ap; va_start(ap, fmt); - _warn_helper(_EVENT_LOG_WARN, NULL, fmt, ap); + event_logv_(EVENT_LOG_WARN, NULL, fmt, ap); va_end(ap); } @@ -152,26 +178,29 @@ event_msgx(const char *fmt, ...) va_list ap; va_start(ap, fmt); - _warn_helper(_EVENT_LOG_MSG, NULL, fmt, ap); + event_logv_(EVENT_LOG_MSG, NULL, fmt, ap); va_end(ap); } void -_event_debugx(const char *fmt, ...) +event_debugx_(const char *fmt, ...) { va_list ap; va_start(ap, fmt); - _warn_helper(_EVENT_LOG_DEBUG, NULL, fmt, ap); + event_logv_(EVENT_LOG_DEBUG, NULL, fmt, ap); va_end(ap); } -static void -_warn_helper(int severity, const char *errstr, const char *fmt, va_list ap) +void +event_logv_(int severity, const char *errstr, const char *fmt, va_list ap) { char buf[1024]; size_t len; + if (severity == EVENT_LOG_DEBUG && !event_debug_get_logging_mask_()) + return; + if (fmt != NULL) evutil_vsnprintf(buf, sizeof(buf), fmt, ap); else @@ -203,16 +232,16 @@ event_log(int severity, const char *msg) else { const char *severity_str; switch (severity) { - case _EVENT_LOG_DEBUG: + case EVENT_LOG_DEBUG: severity_str = "debug"; break; - case _EVENT_LOG_MSG: + case EVENT_LOG_MSG: severity_str = "msg"; break; - case _EVENT_LOG_WARN: + case EVENT_LOG_WARN: severity_str = "warn"; break; - case _EVENT_LOG_ERR: + case EVENT_LOG_ERR: severity_str = "err"; break; default: |