1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-08 21:17:47 +03:00

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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2014-10-22 23:27:57 -05:00
parent 8847551bcb
commit cb41ff2922
3 changed files with 13 additions and 7 deletions

View File

@ -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) {

View File

@ -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,

View File

@ -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__)