This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Max gerrit-no-reply at lists.osmocom.orgHello Neels Hofmeyr, Harald Welte, Jenkins Builder, Holger Freyther, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/1582 to look at the new patch set (#8). vty: fix "logging level ... everything" option * remove unused parameters to log_vty_command_*() and logging_vty_add_cmds() * change internal static function int check_log_to_target() to more appropriate bool should_log_to_target() * make "logging level ... everything" into alias for "... debug" * mark log level descriptors static Related: OS#71 Change-Id: Ib51987fb2f64a70fca130f3799dc8fd71cc7085c --- M include/osmocom/core/logging.h M include/osmocom/vty/logging.h M src/logging.c M src/vty/logging_vty.c M tests/vty/vty_test.c 5 files changed, 20 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/1582/8 diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 7b28b2c..1cfe4c0 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -328,8 +328,8 @@ void log_del_target(struct log_target *target); /* Generate command string for VTY use */ -const char *log_vty_command_string(const struct log_info *info); -const char *log_vty_command_description(const struct log_info *info); +const char *log_vty_command_string(); +const char *log_vty_command_description(); struct log_target *log_target_find(int type, const char *fname); extern struct llist_head osmo_log_target_list; diff --git a/include/osmocom/vty/logging.h b/include/osmocom/vty/logging.h index 9e4b98f..544d117 100644 --- a/include/osmocom/vty/logging.h +++ b/include/osmocom/vty/logging.h @@ -4,6 +4,6 @@ #define FILTER_STR "Filter log messages\n" struct log_info; -void logging_vty_add_cmds(const struct log_info *cat); +void logging_vty_add_cmds(); struct vty; struct log_target *osmo_log_vty2tgt(struct vty *vty); diff --git a/src/logging.c b/src/logging.c index 6a1e929..4fc02e6 100644 --- a/src/logging.c +++ b/src/logging.c @@ -64,7 +64,7 @@ #define LOGLEVEL_DEFS 6 /* Number of loglevels.*/ static const struct value_string loglevel_strs[LOGLEVEL_DEFS+1] = { - { 0, "EVERYTHING" }, + { LOGL_DEBUG, "EVERYTHING" }, { LOGL_DEBUG, "DEBUG" }, { LOGL_INFO, "INFO" }, { LOGL_NOTICE, "NOTICE" }, @@ -144,7 +144,7 @@ /*! \brief descriptive string for each log level */ /* You have to keep this in sync with the structure loglevel_strs. */ -const char *loglevel_descriptions[LOGLEVEL_DEFS+1] = { +static const char *loglevel_descriptions[LOGLEVEL_DEFS+1] = { "Don't use. It doesn't log anything", "Log debug messages and higher levels", "Log informational messages and higher levels", @@ -359,7 +359,8 @@ return subsys; } -static inline int check_log_to_target(struct log_target *tar, int subsys, int level) +static inline bool should_log_to_target(struct log_target *tar, int subsys, + int level) { struct log_category *category; @@ -367,28 +368,28 @@ /* subsystem is not supposed to be logged */ if (!category->enabled) - return 0; + return false; /* Check the global log level */ if (tar->loglevel != 0 && level < tar->loglevel) - return 0; + return false; /* Check the category log level */ if (tar->loglevel == 0 && category->loglevel != 0 && level < category->loglevel) - return 0; + return false; /* Apply filters here... if that becomes messy we will * need to put filters in a list and each filter will * say stop, continue, output */ if ((tar->filter_map & (1 << LOG_FLT_ALL)) != 0) - return 1; + return true; if (osmo_log_info->filter_fn) return osmo_log_info->filter_fn(&log_context, tar); /* TODO: Check the filter/selector too? */ - return 1; + return true; } /*! \brief vararg version of logging function @@ -409,7 +410,7 @@ llist_for_each_entry(tar, &osmo_log_target_list, entry) { va_list bp; - if (!check_log_to_target(tar, subsys, level)) + if (!should_log_to_target(tar, subsys, level)) continue; /* According to the manpage, vsnprintf leaves the value of ap @@ -776,7 +777,7 @@ * \param[in] unused_info Deprecated parameter, no longer used! * \returns vty command string for use by VTY command node */ -const char *log_vty_command_string(const struct log_info *unused_info) +const char *log_vty_command_string() { struct log_info *info = osmo_log_info; int len = 0, offset = 0, ret, i, rem; @@ -854,7 +855,7 @@ * \param[in] unused_info Deprecated parameter, no longer used! * \returns logging command description for use by VTY command node */ -const char *log_vty_command_description(const struct log_info *unused_info) +const char *log_vty_command_description() { struct log_info *info = osmo_log_info; char *str; @@ -985,7 +986,7 @@ /* TODO: The following could/should be cached (update on config) */ llist_for_each_entry(tar, &osmo_log_target_list, entry) { - if (!check_log_to_target(tar, subsys, level)) + if (!should_log_to_target(tar, subsys, level)) continue; /* This might get logged (ignoring filters) */ diff --git a/src/vty/logging_vty.c b/src/vty/logging_vty.c index aabcaa7..9be5dd7 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -737,7 +737,7 @@ return 1; } -void logging_vty_add_cmds(const struct log_info *cat) +void logging_vty_add_cmds() { install_element_ve(&enable_logging_cmd); install_element_ve(&disable_logging_cmd); @@ -750,8 +750,8 @@ install_element_ve(&logging_set_category_mask_old_cmd); /* Logging level strings are generated dynamically. */ - logging_level_cmd.string = log_vty_command_string(cat); - logging_level_cmd.doc = log_vty_command_description(cat); + logging_level_cmd.string = log_vty_command_string(NULL); + logging_level_cmd.doc = log_vty_command_description(NULL); install_element_ve(&logging_level_cmd); install_element_ve(&show_logging_vty_cmd); install_element_ve(&show_alarms_cmd); diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c index 865c93e..1e1b495 100644 --- a/tests/vty/vty_test.c +++ b/tests/vty/vty_test.c @@ -318,7 +318,7 @@ vty_init(&vty_info); /* Setup VTY commands */ - logging_vty_add_cmds(&log_info); + logging_vty_add_cmds(); osmo_stats_vty_add_cmds(); test_cmd_string_from_valstr(); -- To view, visit https://gerrit.osmocom.org/1582 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib51987fb2f64a70fca130f3799dc8fd71cc7085c Gerrit-PatchSet: 8 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Max <msuraev at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Holger Freyther <holger at freyther.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max <msuraev at sysmocom.de> Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>