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 (#9).
vty: fix "logging level ... everything" option
* remove unused parameter from logging_vty_add_cmds()
* remove log_vty_command_*() from public API as it's only used by
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 TODO-RELEASE
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
6 files changed, 23 insertions(+), 21 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/1582/9
diff --git a/TODO-RELEASE b/TODO-RELEASE
index a23fcea..42b4ed8 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -8,6 +8,7 @@
# If any interfaces have been removed or changed since the last public release: c:r:0.
#library what description / commit summary line
libosmocore new function osmo_sock_get_name()
+libosmocore API change remove log_vty_command_string() and log_vty_command_description()
libosmogsm/gsup ABI change fix AUTS length to 14, not 16 (length is implicit)
libosmogsm/oap ABI change fix AUTS length to 14, not 16 (length is implicit)
osmo-auc-gen UI change fix AUTS length to 14, not 16 (length is implicit)
diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h
index 7b28b2c..f40f7d3 100644
--- a/include/osmocom/core/logging.h
+++ b/include/osmocom/core/logging.h
@@ -327,10 +327,6 @@
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);
-
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..757b2de 100644
--- a/src/vty/logging_vty.c
+++ b/src/vty/logging_vty.c
@@ -737,7 +737,11 @@
return 1;
}
-void logging_vty_add_cmds(const struct log_info *cat)
+/* Generate command string for VTY use: implemented in logging.c */
+const char *log_vty_command_string();
+const char *log_vty_command_description();
+
+void logging_vty_add_cmds()
{
install_element_ve(&enable_logging_cmd);
install_element_ve(&disable_logging_cmd);
@@ -750,8 +754,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();
+ 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 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: 9
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>