From: Zbigniew Jędrzejewski-Szmek Date: Thu, 23 Oct 2014 04:27:57 +0000 (-0500) Subject: shared/log: add log_trace as compile-time optional debugging X-Git-Tag: v217~134 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=cb41ff2922b8a555c01d52e1038ac26360253c15 shared/log: add log_trace as compile-time optional debugging Repetetive messages can be annoying when running with SYSTEMD_LOG_LEVEL=debug, but they are sometimes very useful when debugging problems. Add log_trace which is like log_debug but becomes a noop unless LOG_TRACE is defined during compilation. This makes it easy to enable very verbose logging for a subset of programs when compiling from source. --- diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c index 224e8f140..7dd8878ca 100644 --- a/src/journal-remote/journal-remote-parse.c +++ b/src/journal-remote/journal-remote-parse.c @@ -330,7 +330,7 @@ int process_data(RemoteSource *source) { assert(line[n-1] == '\n'); if (n == 1) { - log_debug("Received empty line, event is ready"); + log_trace("Received empty line, event is ready"); return 1; } @@ -350,7 +350,7 @@ int process_data(RemoteSource *source) { else /* replace \n with = */ line[n-1] = '='; - log_debug("Received: %.*s", (int) n, line); + log_trace("Received: %.*s", (int) n, line); r = iovw_put(&source->iovw, line, n); if (r < 0) { @@ -438,7 +438,7 @@ int process_source(RemoteSource *source, bool compress, bool seal) { return r; /* We have a full event */ - log_debug("Received a full event from source@%p fd:%d (%s)", + log_trace("Received a full event from source@%p fd:%d (%s)", source, source->fd, source->name); if (!source->iovw.count) { diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c index 8a72c6eb2..dc7120bbd 100644 --- a/src/journal-remote/journal-remote.c +++ b/src/journal-remote/journal-remote.c @@ -505,11 +505,11 @@ static int process_http_upload( assert(source); - log_debug("request_handler_upload: connection %p, %zu bytes", - connection, *upload_data_size); + log_trace("%s: connection %p, %zu bytes", + __func__, connection, *upload_data_size); if (*upload_data_size) { - log_debug("Received %zu bytes", *upload_data_size); + log_trace("Received %zu bytes", *upload_data_size); r = push_data(source, upload_data, *upload_data_size); if (r < 0) @@ -572,7 +572,7 @@ static int request_handler( assert(url); assert(method); - log_debug("Handling a connection %s %s %s", method, url, version); + log_trace("Handling a connection %s %s %s", method, url, version); if (*connection_cls) return process_http_upload(connection, diff --git a/src/shared/log.h b/src/shared/log.h index 9918381d3..a3e23a855 100644 --- a/src/shared/log.h +++ b/src/shared/log.h @@ -157,6 +157,12 @@ do { \ #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) #define log_error(...) log_full(LOG_ERR, __VA_ARGS__) +#ifdef LOG_TRACE +# define log_trace(...) log_debug(__VA_ARGS__) +#else +# define log_trace(...) do {} while(0) +#endif + #define log_struct(level, ...) log_struct_internal(level, __FILE__, __LINE__, __func__, __VA_ARGS__) #define log_oom() log_oom_internal(__FILE__, __LINE__, __func__)