diff options
author | Hans de Goede <hdegoede@redhat.com> | 2021-03-27 13:07:32 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2021-03-29 09:24:45 +0200 |
commit | ca869a3fff761ea014e87db63c631fb85d968d91 (patch) | |
tree | 39be47f6ebb89a02664a048be63f230419d75a6e | |
parent | cf1ca1945cd6714755aea56855d53051d1af215e (diff) |
ply-logger: Add a ply_is_tracing_to_terminal () helper
Track if we are logging to the terminal (or to a file) and add
a new ply_is_tracing_to_terminal () helper.
This will be used in follow-up patches to replace some
ply_is_tracing () checks for things which should only be done
when tracing to a terminal (and not when tracing to a file).
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r-- | src/libply/ply-logger.c | 12 | ||||
-rw-r--r-- | src/libply/ply-logger.h | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/libply/ply-logger.c b/src/libply/ply-logger.c index 03dd347f..749c9da5 100644 --- a/src/libply/ply-logger.c +++ b/src/libply/ply-logger.c @@ -61,6 +61,7 @@ typedef struct struct _ply_logger { int output_fd; + bool output_fd_is_terminal; char *filename; char *buffer; @@ -229,6 +230,7 @@ ply_logger_new (void) logger = calloc (1, sizeof(ply_logger_t)); logger->output_fd = -1; + logger->output_fd_is_terminal = false; logger->filename = NULL; logger->is_enabled = true; logger->tracing_is_enabled = false; @@ -363,6 +365,7 @@ ply_logger_set_output_fd (ply_logger_t *logger, assert (logger != NULL); logger->output_fd = fd; + logger->output_fd_is_terminal = isatty(fd); } int @@ -580,6 +583,15 @@ ply_logger_is_tracing_enabled (ply_logger_t *logger) return logger->tracing_is_enabled != false; } + +bool +ply_logger_is_tracing_to_terminal (ply_logger_t *logger) +{ + assert (logger != NULL); + + return logger->tracing_is_enabled && logger->output_fd_is_terminal; +} + #endif /* PLY_ENABLE_TRACING */ /* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */ diff --git a/src/libply/ply-logger.h b/src/libply/ply-logger.h index 0015c0cf..8d8ee871 100644 --- a/src/libply/ply-logger.h +++ b/src/libply/ply-logger.h @@ -81,6 +81,7 @@ ply_logger_t *ply_logger_get_error_default (void); #ifdef PLY_ENABLE_TRACING void ply_logger_toggle_tracing (ply_logger_t *logger); bool ply_logger_is_tracing_enabled (ply_logger_t *logger); +bool ply_logger_is_tracing_to_terminal (ply_logger_t *logger); #define ply_logger_trace(logger, format, args ...) \ do \ @@ -113,6 +114,7 @@ bool ply_logger_is_tracing_enabled (ply_logger_t *logger); #define ply_logger_trace(logger, format, args ...) #define ply_logger_toggle_tracing(logger) #define ply_logger_is_tracing_enabled(logger) (false) +#define ply_logger_is_tracing_to_terminal(logger) (false) #endif /* PLY_ENABLE_TRACING */ /* convenience macros @@ -140,6 +142,8 @@ bool ply_logger_is_tracing_enabled (ply_logger_t *logger); ply_logger_toggle_tracing (ply_logger_get_error_default ()) #define ply_is_tracing() \ ply_logger_is_tracing_enabled (ply_logger_get_error_default ()) +#define ply_is_tracing_to_terminal() \ + ply_logger_is_tracing_to_terminal (ply_logger_get_error_default ()) #define ply_trace(format, args ...) \ ply_logger_trace (ply_logger_get_error_default (), format, ## args) |