From 77779ead6d09604573b7170fa27fb9a5926cd02e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 21 Feb 2009 22:45:56 +0100 Subject: rework logging to make it more modular --- src/pulsecore/log.h | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) (limited to 'src/pulsecore/log.h') diff --git a/src/pulsecore/log.h b/src/pulsecore/log.h index 77adb791..6e7bfc35 100644 --- a/src/pulsecore/log.h +++ b/src/pulsecore/log.h @@ -35,8 +35,8 @@ typedef enum pa_log_target { PA_LOG_STDERR, /* default */ PA_LOG_SYSLOG, - PA_LOG_USER, /* to user specified function */ - PA_LOG_NULL /* to /dev/null */ + PA_LOG_NULL, /* to /dev/null */ + PA_LOG_TARGET_MAX } pa_log_target_t; typedef enum pa_log_level { @@ -48,18 +48,33 @@ typedef enum pa_log_level { PA_LOG_LEVEL_MAX } pa_log_level_t; +typedef enum pa_log_flags { + PA_LOG_COLORS = 0x01, /* Show colorful output */ + PA_LOG_PRINT_TIME = 0x02, /* Show time */ + PA_LOG_PRINT_FILE = 0x04, /* Show source file */ + PA_LOG_PRINT_META = 0x08, /* Show extended locaton information */ + PA_LOG_PRINT_LEVEL = 0x10, /* Show log level prefix */ +} pa_log_flags_t; + +typedef enum pa_log_merge { + PA_LOG_SET, + PA_LOG_UNSET, + PA_LOG_RESET +} pa_log_merge_t; + /* Set an identification for the current daemon. Used when logging to syslog. */ void pa_log_set_ident(const char *p); -typedef void (*pa_log_func_t)(pa_log_level_t t, const char*s); - -/* Set another log target. If t is PA_LOG_USER you may specify a function that is called every log string */ -void pa_log_set_target(pa_log_target_t t, pa_log_func_t func); +/* Set a log target. */ +void pa_log_set_target(pa_log_target_t t); /* Maximal log level */ -void pa_log_set_maximal_level(pa_log_level_t l); -void pa_log_set_show_meta(pa_bool_t b); -void pa_log_set_show_time(pa_bool_t b); +void pa_log_set_level(pa_log_level_t l); + +/* Set flags */ +void pa_log_set_flags(pa_log_flags_t flags, pa_log_merge_t merge); + +/* Enable backtrace */ void pa_log_set_show_backtrace(unsigned nlevels); void pa_log_level_meta( @@ -68,6 +83,7 @@ void pa_log_level_meta( int line, const char *func, const char *format, ...) PA_GCC_PRINTF_ATTR(5,6); + void pa_log_levelv_meta( pa_log_level_t level, const char*file, @@ -76,8 +92,14 @@ void pa_log_levelv_meta( const char *format, va_list ap); -void pa_log_level(pa_log_level_t level, const char *format, ...) PA_GCC_PRINTF_ATTR(2,3); -void pa_log_levelv(pa_log_level_t level, const char *format, va_list ap); +void pa_log_level( + pa_log_level_t level, + const char *format, ...) PA_GCC_PRINTF_ATTR(2,3); + +void pa_log_levelv( + pa_log_level_t level, + const char *format, + va_list ap); #if __STDC_VERSION__ >= 199901L -- cgit