mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-11-02 13:03:33 +00:00
Merge commit '7638af95fd08213aef4adb3c6399975fe3621855'
This commit is contained in:
@@ -117,6 +117,7 @@ void log_set_print_timestamp(struct log_target *target, int);
|
||||
void log_set_log_level(struct log_target *target, int log_level);
|
||||
void log_parse_category_mask(struct log_target *target, const char* mask);
|
||||
int log_parse_level(const char *lvl);
|
||||
const char *log_level_str(unsigned int lvl);
|
||||
int log_parse_category(const char *category);
|
||||
void log_set_category_filter(struct log_target *target, int category,
|
||||
int enable, int level);
|
||||
@@ -127,4 +128,8 @@ struct log_target *log_target_create_stderr(void);
|
||||
void log_add_target(struct log_target *target);
|
||||
void log_del_target(struct log_target *target);
|
||||
|
||||
/* Gernerate command argument strings for VTY use */
|
||||
const char *log_vty_category_string(struct log_info *info);
|
||||
const char *log_vty_level_string(struct log_info *info);
|
||||
|
||||
#endif /* _OSMOCORE_LOGGING_H */
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user