aboutsummaryrefslogtreecommitdiff
path: root/log.c
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2017-08-07 14:18:18 -0700
committerElliott Hughes <enh@google.com>2017-08-07 16:58:18 -0700
commit2a572d125a91a4aafd3ad8ce87259fc640fa0763 (patch)
treebd05e575a4a2629cc420c5e2bc54f176fee611ab /log.c
parent596447c7ff2881a67e7082c905112584c3e61a17 (diff)
downloadlibevent-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.c67
1 files changed, 48 insertions, 19 deletions
diff --git a/log.c b/log.c
index 046e81f..e8ae9fd 100644
--- a/log.c
+++ b/log.c
@@ -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: