From 2ef03d9b7dbd60e0cb0fb159074e48974f1f2763 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Sat, 19 Jan 2013 11:58:07 +0800 Subject: [PATCH] allow_use_of_lwsl_logging in user code Signed-off-by: Andy Green --- README-test-server | 11 +++++++++++ lib/libwebsockets.h | 30 ++++++++++++++++++++++++++++++ lib/private-libwebsockets.h | 30 ------------------------------ 3 files changed, 41 insertions(+), 30 deletions(-) diff --git a/README-test-server b/README-test-server index 4f0926c..4f1cbdc 100644 --- a/README-test-server +++ b/README-test-server @@ -430,6 +430,17 @@ A helper function lwsl_emit_syslog() is exported from the library to simplify logging to syslog. You still need to use setlogmask, openlog and closelog in your user code. +The logging apis are made available for user code. + +lwsl_err(...) +lwsl_warn(...) +lwsl_notice(...) +lwsl_info(...) +lwsl_debug(...) + +The difference between notice and info is that notice will be logged by default +whereas info is ignored by default. + Websocket version supported --------------------------- diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h index a5e283d..bc9b0cb 100644 --- a/lib/libwebsockets.h +++ b/lib/libwebsockets.h @@ -80,6 +80,36 @@ enum lws_log_levels { LLL_COUNT = 9 /* set to count of valid flags */ }; +extern void _lws_log(int filter, const char *format, ...); + +/* warn and log are always compiled in */ +#define lwsl_notice(...) _lws_log(LLL_NOTICE, __VA_ARGS__) +#define lwsl_warn(...) _lws_log(LLL_WARN, __VA_ARGS__) +#define lwsl_err(...) _lws_log(LLL_ERR, __VA_ARGS__) + +/* + * weaker logging can be deselected at configure time using disable_debug + * that gets rid of the overhead of checking while keeping _warn and _err + * active + */ +#ifdef _DEBUG +#define lwsl_info(...) _lws_log(LLL_INFO, __VA_ARGS__) +#define lwsl_debug(...) _lws_log(LLL_DEBUG, __VA_ARGS__) +#define lwsl_parser(...) _lws_log(LLL_PARSER, __VA_ARGS__) +#define lwsl_header(...) _lws_log(LLL_HEADER, __VA_ARGS__) +#define lwsl_ext(...) _lws_log(LLL_HEADER, __VA_ARGS__) +#define lwsl_client(...) _lws_log(LLL_CLIENT, __VA_ARGS__) +extern void lwsl_hexdump(void *buf, size_t len); +#else /* no debug */ +#define lwsl_info(...) +#define lwsl_debug(...) +#define lwsl_parser(...) +#define lwsl_header(...) +#define lwsl_ext(...) +#define lwsl_client(...) +#define lwsl_hexdump(a, b) +#endif + enum libwebsocket_context_options { LWS_SERVER_OPTION_DEFEAT_CLIENT_MASK = 1, LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT = 2, diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h index d70bd33..db8d5e7 100644 --- a/lib/private-libwebsockets.h +++ b/lib/private-libwebsockets.h @@ -81,36 +81,6 @@ #include "libwebsockets.h" -extern void _lws_log(int filter, const char *format, ...); - -/* notice, warn and log are always compiled in */ -#define lwsl_notice(...) _lws_log(LLL_NOTICE, __VA_ARGS__) -#define lwsl_warn(...) _lws_log(LLL_WARN, __VA_ARGS__) -#define lwsl_err(...) _lws_log(LLL_ERR, __VA_ARGS__) - -/* - * weaker logging can be deselected at configure time using disable_debug - * that gets rid of the overhead of checking while keeping _warn and _err - * active - */ -#ifdef _DEBUG -#define lwsl_info(...) _lws_log(LLL_INFO, __VA_ARGS__) -#define lwsl_debug(...) _lws_log(LLL_DEBUG, __VA_ARGS__) -#define lwsl_parser(...) _lws_log(LLL_PARSER, __VA_ARGS__) -#define lwsl_header(...) _lws_log(LLL_HEADER, __VA_ARGS__) -#define lwsl_ext(...) _lws_log(LLL_HEADER, __VA_ARGS__) -#define lwsl_client(...) _lws_log(LLL_CLIENT, __VA_ARGS__) -extern void lwsl_hexdump(void *buf, size_t len); -#else /* no debug */ -#define lwsl_info(...) -#define lwsl_debug(...) -#define lwsl_parser(...) -#define lwsl_header(...) -#define lwsl_ext(...) -#define lwsl_client(...) -#define lwsl_hexdump(a, b) -#endif - /* * Mac OSX as well as iOS do not define the MSG_NOSIGNAL flag, * but happily have something equivalent in the SO_NOSIGPIPE flag. -- 2.7.4