diff options
author | Simon Glass | 2021-07-05 16:33:00 -0600 |
---|---|---|
committer | Simon Glass | 2021-07-21 10:27:35 -0600 |
commit | 72fa1ad8d9fe58153ca72e3886b8d846299e8fff (patch) | |
tree | a1979f905e8656a52b95a1a791626b48926999cc /common | |
parent | 96f37b092fdbb604e43c313265995d72ff1a82fe (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/Kconfig | 8 | ||||
-rw-r--r-- | common/log_console.c | 2 |
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); |