This series adds several commands for adding, listing, and removing log filters. It also adds getopt, since the filter-add command needs to have several optional arguments to be complete, and positional specification of those arguments would have been difficult.
Changes in v2: - Add % before constants in kerneldocs - Add compiletime assert on size of log_cat_name - Add const qualifier to log_*_name - Add option to remove all filters to filter-remove - Clarify filter-* help text - Clarify wording of filter documentation - Converted log filter-* tests to C from python - Document log_level_t and log_category_t members - Expand documentation of getopt() to include examples - Expose log_has_cat and log_has_file for filter tests - Include enum definitions instead of re-documenting them - Print an error message if the log level is invalid. - Remove opt prefix from getopt_state members - Reorganize log documentation; related sections should now be more proximate Sean Anderson (22): log: Fix missing negation of ENOMEM log: Fix incorrect documentation of log_filter.cat_list log: Add additional const qualifier to arrays log: Add new category names to log_cat_name log: Use CONFIG_IS_ENABLED() for LOG_TEST log: Expose some helper functions log: Add function to create a filter with flags log: Add filter flag to deny on match test: Add tests for LOGFF_DENY log: Add filter flag to match greater than a log level test: Add test for LOGFF_MIN cmd: log: Use sub-commands for log cmd: log: Split off log level parsing cmd: log: Move log test to end of help string cmd: log: Add commands to list categories and drivers cmd: log: Make "log level" print all log levels lib: Add getopt test: Add a test for getopt cmd: log: Add commands to manipulate filters test: Add a test for log filter-* doc: Add log kerneldocs to documentation doc: Update logging documentation MAINTAINERS | 1 + cmd/Kconfig | 1 + cmd/log.c | 360 +++++++++++++++++++++++++++++++++----- common/log.c | 65 ++++--- doc/api/getopt.rst | 8 + doc/api/index.rst | 1 + doc/develop/logging.rst | 238 ++++++++++++------------- include/getopt.h | 130 ++++++++++++++ include/log.h | 205 ++++++++++++++++------ include/test/log.h | 1 + lib/Kconfig | 5 + lib/Makefile | 1 + lib/getopt.c | 125 +++++++++++++ test/lib/Makefile | 1 + test/lib/getopt.c | 123 +++++++++++++ test/log/Makefile | 1 + test/log/log_filter.c | 111 ++++++++++++ test/log/log_test.c | 94 +++++++++- test/py/tests/test_log.py | 26 ++- 19 files changed, 1253 insertions(+), 244 deletions(-) create mode 100644 doc/api/getopt.rst create mode 100644 include/getopt.h create mode 100644 lib/getopt.c create mode 100644 test/lib/getopt.c create mode 100644 test/log/log_filter.c -- 2.28.0