diff options
author | Max <msuraev@sysmocom.de> | 2017-03-15 13:20:23 +0100 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-05-09 09:11:05 +0000 |
commit | c65c5b4ea075ef6cef11fff9442ae0b15c1d6af7 (patch) | |
tree | 395a66908aaba8640e5aa2c8496919fe517009ef | |
parent | 584f4b69d6d8bc0990c923ee5a144a7e3426b69a (diff) |
vty: cleanup logging functions
* remove unused parameter from logging_vty_add_cmds()
* mark log level descriptors static
* change internal static function int check_log_to_target() to more
appropriate bool should_log_to_target()
* deprecate log_vty_command_*() from public API as it should only be
used by logging_vty_add_cmds()
Change-Id: I0e9ddd7ba3ce211302d99a3494eb408907a2916e
Related: OS#71
-rw-r--r-- | include/osmocom/core/logging.h | 4 | ||||
-rw-r--r-- | include/osmocom/vty/logging.h | 2 | ||||
-rw-r--r-- | src/logging.c | 23 | ||||
-rw-r--r-- | src/vty/logging_vty.c | 6 | ||||
-rw-r--r-- | tests/vty/vty_test.c | 2 |
5 files changed, 19 insertions, 18 deletions
diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 41a5d775..77343e96 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -332,8 +332,8 @@ void log_add_target(struct log_target *target); 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() OSMO_DEPRECATED("For internal use inside libosmocore only."); +const char *log_vty_command_description() OSMO_DEPRECATED("For internal use inside libosmocore only."); 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 9e4b98f9..544d1177 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 05d6b6d0..4c9d6f3d 100644 --- a/src/logging.c +++ b/src/logging.c @@ -164,7 +164,7 @@ static const struct log_info_cat internal_cat[OSMO_NUM_DLIB] = { /*! \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", @@ -392,7 +392,8 @@ static inline int map_subsys(int subsys) 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; @@ -400,28 +401,28 @@ static inline int check_log_to_target(struct log_target *tar, int subsys, int le /* 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 @@ -442,7 +443,7 @@ void osmo_vlogp(int subsys, int level, const char *file, int line, 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 @@ -811,7 +812,7 @@ int log_targets_reopen(void) * \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; @@ -891,7 +892,7 @@ err: * \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; @@ -1026,7 +1027,7 @@ int log_check_level(int subsys, unsigned int level) /* 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 7bb79b8b..7ec212e7 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -737,7 +737,7 @@ static int config_write_log(struct vty *vty) 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 @@ void logging_vty_add_cmds(const struct log_info *cat) 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(); + logging_level_cmd.doc = log_vty_command_description(); 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 865c93e9..1e1b495a 100644 --- a/tests/vty/vty_test.c +++ b/tests/vty/vty_test.c @@ -318,7 +318,7 @@ int main(int argc, char **argv) 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(); |