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>
diff --git a/common/Kconfig b/common/Kconfig
index 1f0c366..2ab20a6 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -322,6 +322,14 @@
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 3f61774..f1dcc04 100644
--- a/common/log_console.c
+++ b/common/log_console.c
@@ -38,7 +38,7 @@
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);