aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorSimon Glass2021-07-05 16:33:00 -0600
committerSimon Glass2021-07-21 10:27:35 -0600
commit72fa1ad8d9fe58153ca72e3886b8d846299e8fff (patch)
treea1979f905e8656a52b95a1a791626b48926999cc /common
parent96f37b092fdbb604e43c313265995d72ff1a82fe (diff)
log: Allow padding of the function name
At present when function names are logged, the output is a little hard to read since every function is a different length. Add a way to pad the names so that the log messages line up vertically. This doesn't work if the function name is very long, but it makes a big difference in most cases. Use 20 characters as a default since this covers the vast majority of functions. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/Kconfig8
-rw-r--r--common/log_console.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/common/Kconfig b/common/Kconfig
index 1f0c3663af0..2ab20a6c85b 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -322,6 +322,14 @@ config LOGF_FUNC
Show the function name in log messages by default. This value can
be overridden using the 'log format' command.
+config LOGF_FUNC_PAD
+ int "Number of characters to use for function"
+ default 20
+ help
+ Sets the field width to use when showing the function. Set this to
+ a larger value if you have lots of long function names, and want
+ things to line up.
+
config LOG_SYSLOG
bool "Log output to syslog server"
depends on NET
diff --git a/common/log_console.c b/common/log_console.c
index 3f6177499ef..f1dcc04b97c 100644
--- a/common/log_console.c
+++ b/common/log_console.c
@@ -38,7 +38,7 @@ static int log_console_emit(struct log_device *ldev, struct log_rec *rec)
if (fmt & BIT(LOGF_LINE))
printf("%d-", rec->line);
if (fmt & BIT(LOGF_FUNC))
- printf("%s()", rec->func);
+ printf("%*s()", CONFIG_LOGF_FUNC_PAD, rec->func);
}
if (fmt & BIT(LOGF_MSG))
printf("%s%s", add_space ? " " : "", rec->msg);