aboutsummaryrefslogtreecommitdiffstats
path: root/libosmocore/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-11 16:41:55 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-11 16:41:55 +0200
commite9359db5803baef9a66bb007a0fa719c2d2bb475 (patch)
tree22d8bd4fa70086b75df9c6e40b5f2134307978e7 /libosmocore/src
parent6f65696459cbdc3c6fb0bbcda22881deed2d4d8a (diff)
parent7638af95fd08213aef4adb3c6399975fe3621855 (diff)
Merge commit '7638af95fd08213aef4adb3c6399975fe3621855'
Diffstat (limited to 'libosmocore/src')
-rw-r--r--libosmocore/src/logging.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/libosmocore/src/logging.c b/libosmocore/src/logging.c
index 7c508771f..e72a6e204 100644
--- a/libosmocore/src/logging.c
+++ b/libosmocore/src/logging.c
@@ -58,6 +58,11 @@ int log_parse_level(const char *lvl)
return get_string_value(loglevel_strs, lvl);
}
+const char *log_level_str(unsigned int lvl)
+{
+ return get_value_string(loglevel_strs, lvl);
+}
+
int log_parse_category(const char *category)
{
int i;
@@ -361,6 +366,52 @@ struct log_target *log_target_create_stderr(void)
#endif /* stderr */
}
+const char *log_vty_level_string(struct log_info *info)
+{
+ const struct value_string *vs;
+ unsigned int len = 3; /* ()\0 */
+ char *str;
+
+ for (vs = loglevel_strs; vs->value || vs->str; vs++)
+ len += strlen(vs->str) + 1;
+
+ str = talloc_zero_size(NULL, len);
+ if (!str)
+ return NULL;
+
+ str[0] = '(';
+ for (vs = loglevel_strs; vs->value || vs->str; vs++) {
+ strcat(str, vs->str);
+ strcat(str, "|");
+ }
+ str[strlen(str)-1] = ')';
+
+ return str;
+}
+
+const char *log_vty_category_string(struct log_info *info)
+{
+ unsigned int len = 3; /* "()\0" */
+ unsigned int i;
+ char *str;
+
+ for (i = 0; i < info->num_cat; i++)
+ len += strlen(info->cat[i].name) + 1;
+
+ str = talloc_zero_size(NULL, len);
+ if (!str)
+ return NULL;
+
+ str[0] = '(';
+ for (i = 0; i < info->num_cat; i++) {
+ strcat(str, info->cat[i].name+1);
+ strcat(str, "|");
+ }
+ str[strlen(str)-1] = ')';
+
+ return str;
+}
+
void log_init(const struct log_info *cat)
{
tall_log_ctx = talloc_named_const(NULL, 1, "logging");