[dpdk-dev] [PATCH 0/3] logging enhancments

Stephen Hemminger stephen at networkplumber.org
Fri Feb 23 21:56:45 CET 2018


The current dynamic logging has some awkward user interface choices.
It uses integers for log levels which requires user to know the
mapping between numeric and symbolic values.

A bigger problem was the choice of regular expressions and option
format for dynamic logging. Dynamic log names are seperated with
a period and the wildcard character for regular expressions is
a period. It is just a happy accident the expressions like:
	"pmd.net.virtio.*"
work as expected. This patch set adds a more usable solution
with filename style matching.

Also, the choice of comma as seperator for log-level option was
not consistent with other options. For other options, comma is
used to seperate list of equal values as in:
	-l 1,2,3
Since new match required a backwards compatiable option the
colon is now used to seperate name and value.

So:
	--log-level='pmd.net.virtio.*,7'
still works as expected. But the prefered syntax is:
	--log-level='pmd.net.virtio.*:info'

If this is accepted, I think we should mark the old regex style
matching as deprecated and remove it in 18.11??

Also, the dynamic log level pattern stuff is not adaquately
documented right now. There are only a couple of vague references
in the current documentation (which this updates).

Stephen Hemminger (3):
  eal: allow symbolic log levels
  log: add ability to match dynamic log based on shell pattern
  doc: update log level matching in documentation

 doc/guides/contributing/coding_style.rst   |  2 +-
 doc/guides/nics/qede.rst                   |  2 +-
 lib/librte_eal/common/eal_common_log.c     | 22 +++++++-
 lib/librte_eal/common/eal_common_options.c | 86 +++++++++++++++++++++++-------
 lib/librte_eal/common/include/rte_log.h    | 16 +++++-
 5 files changed, 103 insertions(+), 25 deletions(-)

-- 
2.16.1



More information about the dev mailing list