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). v2 - whitespace checkpatch revisions 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