On 6/26/24 17:09, David Marchand wrote:
> The current documentation is non intuitive in that the global log level
> can be understood as being a single knob controlling all components
> logs.
> On the contrary, all the global log level is for is to reduce verbosity
> globally.
> 
> Remove examples of setting --log-level=8|debug, which is a noop.
> 
> Cc: sta...@dpdk.org
> 
> Signed-off-by: David Marchand <david.march...@redhat.com>
> ---
>  doc/guides/cryptodevs/octeontx.rst |  2 +-
>  doc/guides/prog_guide/log_lib.rst  | 10 ++++++----
>  2 files changed, 7 insertions(+), 5 deletions(-)

Thanks, David!  Though I still find this part of the documentation
extremely confusing.

> 
> diff --git a/doc/guides/cryptodevs/octeontx.rst 
> b/doc/guides/cryptodevs/octeontx.rst
> index a39f3f3d02..97e13514f3 100644
> --- a/doc/guides/cryptodevs/octeontx.rst
> +++ b/doc/guides/cryptodevs/octeontx.rst
> @@ -114,7 +114,7 @@ OCTEON TX crypto PMD.
>  
>  .. code-block:: console
>  
> -        ./build/ipsec-secgw --log-level=8 -c 0xff -- -P -p 0x3 -u 0x2 
> --config
> +        ./build/ipsec-secgw -c 0xff -- -P -p 0x3 -u 0x2 --config
>          "(1,0,0),(0,0,0)" -f ep1.cfg
>  
>  Testing
> diff --git a/doc/guides/prog_guide/log_lib.rst 
> b/doc/guides/prog_guide/log_lib.rst
> index ff9d1b54a2..965b7e9961 100644
> --- a/doc/guides/prog_guide/log_lib.rst
> +++ b/doc/guides/prog_guide/log_lib.rst
> @@ -32,18 +32,20 @@ or by the user passing the ``--log-level`` parameter to 
> the EAL via the applicat
>  Setting Global Log Level
>  ~~~~~~~~~~~~~~~~~~~~~~~~
>  
> -To adjust the global log level for an application,
> -just pass a numeric level or a level name to the ``--log-level`` EAL 
> parameter.
> +By default, the global log level is set to ``RTE_LOG_DEBUG``.

This reads as I'll see debug logs from every component unless
I turn them off.  Which is not true.  The main issue is that
this doc doesn't define what 'global log level' means.

> +
> +To reduce the verbosity of an application globally,
> +adjust the global log level by passing a numeric level or a level name to 
> the ``--log-level`` EAL parameter.
>  For example::
>  
>       /path/to/app --log-level=error
>  
> -     /path/to/app --log-level=debug
> -
>       /path/to/app --log-level=5   # warning
>  
>  Within an application, the log level can be similarly set using the 
> ``rte_log_set_global_level`` API.
>  
> +For setting per component log levels, see below.
> +
>  Setting Log Level for a Component
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  

I'd suggest to remove the 'Setting Global Log Level' section entirely.
Rename the 'Setting Log Level for a Component' into 'Setting Log Levels'
and restructure it in a way:

To set the log level for a particular component, use:
   --log-level=component:level <...>
For example, to see warnings and higher errors from <...> use <...>.

To set the log level for multiple components with wildcard match, use:
   --log-level=my_compon*:level <...>

For example, to see warnings and higher errors from all PMDs use <...>.
To see all the messages including debug logs from all PMDs use <...>

To set the desired log level for everything at once, use:
   --log-level=*:level

Also, the following syntax can be used to *decrease* log level globally:
   --log-level=level  # works only for decreasing current verbosity

What do you think?

(Some wording may need changes obviously.  For example, the doc says
the more critical levels are 'above' because they have 'higher importance',
but numbers are going the opposite direction.  So words like 'reduce' or
'increase' are hard to interpret in this context.)

Best regards, Ilya Maximets.

Reply via email to