From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heinrich Schuchardt Date: Sun, 14 Jun 2020 12:34:40 +0200 Subject: [RESEND v2 1/1] log: don't show function by default In-Reply-To: <20200607185048.5073-1-xypron.glpk@gmx.de> References: <20200531150927.538311-1-xypron.glpk@gmx.de> <20200607185048.5073-1-xypron.glpk@gmx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 6/7/20 8:50 PM, Heinrich Schuchardt wrote: > The name of the function emitting a log message may be of interest for a > developer but is distracting for normal users. See the example below: > > try_load_entry() Booting: Debian > > Make the default format for log messages customizable. By default show > only the message text. > > Signed-off-by: Heinrich Schuchardt Hello Simon, thanks for accepting my other log related patches. I did not yet get any feedback for this one. I would need it before upstreaming patches for using log functions in the UEFI sub-system instead of printf(). My target is to collect log messages about the boot process on my syslog server. Best regards Heinrich > --- > v2: > adjust logging tests > adjust description of log command > --- > cmd/log.c | 2 +- > common/Kconfig | 18 ++++++++++++++++++ > include/log.h | 12 +++++++++++- > test/log/syslog_test.c | 20 ++++++++++++++------ > test/py/tests/test_log.py | 2 ++ > 5 files changed, 46 insertions(+), 8 deletions(-) > > diff --git a/cmd/log.c b/cmd/log.c > index 78352b2cb9..2c91545c0d 100644 > --- a/cmd/log.c > +++ b/cmd/log.c > @@ -139,7 +139,7 @@ static char log_help_text[] = > "log format - set log output format. is a string where\n" > "\teach letter indicates something that should be displayed:\n" > "\tc=category, l=level, F=file, L=line number, f=function, m=msg\n" > - "\tor 'default', equivalent to 'fm', or 'all' for all\n" > + "\tor 'default', or 'all' for all\n" > "log rec - " > "output a log record" > ; > diff --git a/common/Kconfig b/common/Kconfig > index 7872bc46cd..60cae77f20 100644 > --- a/common/Kconfig > +++ b/common/Kconfig > @@ -792,6 +792,24 @@ config TPL_LOG_CONSOLE > > endif > > +config LOGF_FILE > + bool "Show source file name in log messages by default" > + help > + Show the source file name in log messages by default. This value > + can be overridden using the 'log format' command. > + > +config LOGF_LINE > + bool "Show source line number in log messages by default" > + help > + Show the source line number in log messages by default. This value > + can be overridden using the 'log format' command. > + > +config LOGF_FUNC > + bool "Show function name in log messages by default" > + help > + Show the function name in log messages by default. This value can > + be overridden using the 'log format' command. > + > config LOG_ERROR_RETURN > bool "Log all functions which return an error" > help > diff --git a/include/log.h b/include/log.h > index df65398c04..ec471c3a01 100644 > --- a/include/log.h > +++ b/include/log.h > @@ -411,7 +411,17 @@ enum log_fmt { > LOGF_MSG, > > LOGF_COUNT, > - LOGF_DEFAULT = (1 << LOGF_FUNC) | (1 << LOGF_MSG), > + LOGF_DEFAULT = > +#ifdef CONFIG_LOGF_FILE > + (1 << LOGF_FILE) | > +#endif > +#ifdef CONFIG_LOGF_LINE > + (1 << LOGF_LINE) | > +#endif > +#ifdef CONFIG_LOGF_FUNC > + (1 << LOGF_FUNC) | > +#endif > + (1 << LOGF_MSG), > LOGF_ALL = 0x3f, > }; > > diff --git a/test/log/syslog_test.c b/test/log/syslog_test.c > index 26536ebca7..d1dfd08581 100644 > --- a/test/log/syslog_test.c > +++ b/test/log/syslog_test.c > @@ -21,6 +21,8 @@ > > DECLARE_GLOBAL_DATA_PTR; > > +#define LOGF_TEST ((1 << LOGF_FUNC) | (1 << LOGF_MSG)) > + > /** > * struct sb_log_env - private data for sandbox ethernet driver > * > @@ -102,7 +104,7 @@ static int log_test_syslog_err(struct unit_test_state *uts) > int old_log_level = gd->default_log_level; > struct sb_log_env env; > > - gd->log_fmt = LOGF_DEFAULT; > + gd->log_fmt = LOGF_TEST; > gd->default_log_level = LOGL_INFO; > env_set("ethact", "eth at 10002000"); > env_set("log_hostname", "sandbox"); > @@ -116,6 +118,7 @@ static int log_test_syslog_err(struct unit_test_state *uts) > /* Check that the callback function was called */ > sandbox_eth_set_tx_handler(0, NULL); > gd->default_log_level = old_log_level; > + gd->log_fmt = LOGF_DEFAULT; > > return 0; > } > @@ -132,7 +135,7 @@ static int log_test_syslog_warning(struct unit_test_state *uts) > int old_log_level = gd->default_log_level; > struct sb_log_env env; > > - gd->log_fmt = LOGF_DEFAULT; > + gd->log_fmt = LOGF_TEST; > gd->default_log_level = LOGL_INFO; > env_set("ethact", "eth at 10002000"); > env_set("log_hostname", "sandbox"); > @@ -147,6 +150,7 @@ static int log_test_syslog_warning(struct unit_test_state *uts) > /* Check that the callback function was called */ > ut_assertnull(env.expected); > gd->default_log_level = old_log_level; > + gd->log_fmt = LOGF_DEFAULT; > > return 0; > } > @@ -163,7 +167,7 @@ static int log_test_syslog_notice(struct unit_test_state *uts) > int old_log_level = gd->default_log_level; > struct sb_log_env env; > > - gd->log_fmt = LOGF_DEFAULT; > + gd->log_fmt = LOGF_TEST; > gd->default_log_level = LOGL_INFO; > env_set("ethact", "eth at 10002000"); > env_set("log_hostname", "sandbox"); > @@ -178,6 +182,7 @@ static int log_test_syslog_notice(struct unit_test_state *uts) > /* Check that the callback function was called */ > ut_assertnull(env.expected); > gd->default_log_level = old_log_level; > + gd->log_fmt = LOGF_DEFAULT; > > return 0; > } > @@ -194,7 +199,7 @@ static int log_test_syslog_info(struct unit_test_state *uts) > int old_log_level = gd->default_log_level; > struct sb_log_env env; > > - gd->log_fmt = LOGF_DEFAULT; > + gd->log_fmt = LOGF_TEST; > gd->default_log_level = LOGL_INFO; > env_set("ethact", "eth at 10002000"); > env_set("log_hostname", "sandbox"); > @@ -209,6 +214,7 @@ static int log_test_syslog_info(struct unit_test_state *uts) > /* Check that the callback function was called */ > ut_assertnull(env.expected); > gd->default_log_level = old_log_level; > + gd->log_fmt = LOGF_DEFAULT; > > return 0; > } > @@ -225,7 +231,7 @@ static int log_test_syslog_debug(struct unit_test_state *uts) > int old_log_level = gd->default_log_level; > struct sb_log_env env; > > - gd->log_fmt = LOGF_DEFAULT; > + gd->log_fmt = LOGF_TEST; > gd->default_log_level = LOGL_DEBUG; > env_set("ethact", "eth at 10002000"); > env_set("log_hostname", "sandbox"); > @@ -240,6 +246,7 @@ static int log_test_syslog_debug(struct unit_test_state *uts) > /* Check that the callback function was called */ > ut_assertnull(env.expected); > gd->default_log_level = old_log_level; > + gd->log_fmt = LOGF_DEFAULT; > > return 0; > } > @@ -259,7 +266,7 @@ static int log_test_syslog_nodebug(struct unit_test_state *uts) > int old_log_level = gd->default_log_level; > struct sb_log_env env; > > - gd->log_fmt = LOGF_DEFAULT; > + gd->log_fmt = LOGF_TEST; > gd->default_log_level = LOGL_INFO; > env_set("ethact", "eth at 10002000"); > env_set("log_hostname", "sandbox"); > @@ -274,6 +281,7 @@ static int log_test_syslog_nodebug(struct unit_test_state *uts) > /* Check that the callback function was not called */ > ut_assertnonnull(env.expected); > gd->default_log_level = old_log_level; > + gd->log_fmt = LOGF_DEFAULT; > > return 0; > } > diff --git a/test/py/tests/test_log.py b/test/py/tests/test_log.py > index 75325fad61..ddc28f19ee 100644 > --- a/test/py/tests/test_log.py > +++ b/test/py/tests/test_log.py > @@ -39,6 +39,8 @@ def test_log(u_boot_console): > Returns: > iterator containing the lines output from the command > """ > + output = u_boot_console.run_command('log format fm') > + assert output == '' > with cons.log.section('basic'): > output = u_boot_console.run_command('log test %d' % testnum) > split = output.replace('\r', '').splitlines() > -- > 2.26.2 >