summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-01-16 03:02:06 +0100
committerHarald Welte <laforge@gnumonks.org>2018-01-17 11:13:58 +0000
commite653472573323a9abf910555fe38eb34b1f42840 (patch)
tree0bfc3eb77a1a079d1a0499d4f50239fe2cc86804
parentf3fa3694f596b50a5d85ae1e8b2a8627a3308a7e (diff)
logging: color the log category according to level
When log_set_use_color() is enabled, color the log category string according to the log level. The log line before and after the log category is printed in the category's configured color. ERROR and FATAL are red, NOTICE is yellow, INFO is green and DEBUG is blue. The default behavior remains unchanged; If color is enabled, the category string will now always be colored in the log level color, not the log category color, and will stand out from the rest of the line. Change-Id: I84f886ac880e9056a666bbb231ae06cbaaf65f44
-rw-r--r--src/logging.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/logging.c b/src/logging.c
index c01294cb..a6aa7eba 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -366,7 +366,11 @@ static void _output(struct log_target *target, unsigned int subsys,
OSMO_SNPRINTF_RET(ret, rem, offset, len);
}
if (target->print_category) {
- ret = snprintf(buf + offset, rem, "%s ", log_category_name(subsys));
+ ret = snprintf(buf + offset, rem, "%s%s%s%s ",
+ target->use_color ? level_color(level) : "",
+ log_category_name(subsys),
+ target->use_color ? "\033[0;m" : "",
+ c_subsys ? c_subsys : "");
if (ret < 0)
goto err;
OSMO_SNPRINTF_RET(ret, rem, offset, len);