From a98915bd9506fc0f3d9861d7caa662cac048d090 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 6 Jun 2013 07:30:29 +0200 Subject: debug.c: use new libosmocore features to print and save log filter WARNING: This needs more work, as the tests fail to compile without being linked against LIBOSMOVTY_LIBS :( --- openbsc/src/libcommon/debug.c | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/openbsc/src/libcommon/debug.c b/openbsc/src/libcommon/debug.c index b3685e6d2..d74aff6b2 100644 --- a/openbsc/src/libcommon/debug.c +++ b/openbsc/src/libcommon/debug.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -193,8 +194,53 @@ static int filter_fn(const struct log_context *ctx, return 0; } +static void filter_print(struct vty *vty, + const struct log_info *info, + const struct log_target *tar) +{ + if ((tar->filter_map & (1 << FLT_IMSI)) != 0) + vty_out(vty, " Log Filter 'IMSI': %s%s", + tar->filter_data[FLT_IMSI], VTY_NEWLINE); + else + vty_out(vty, " Log Filter 'IMSI': Disabled%s", VTY_NEWLINE); + + if ((tar->filter_map & (1 << FLT_NSVC)) != 0) + vty_out(vty, " Log Filter 'NSVC': %u%s", + tar->filter_data[FLT_NSVC], VTY_NEWLINE); + else + vty_out(vty, " Log Filter 'NSVC': Disabled%s", VTY_NEWLINE); + + /* Filter on the NS Virtual Connection */ + if ((tar->filter_map & (1 << FLT_BVC)) != 0) + vty_out(vty, " Log Filter 'BVC': %u%s", + tar->filter_data[FLT_BVC], VTY_NEWLINE); + else + vty_out(vty, " Log Filter 'BVC': Disabled%s", VTY_NEWLINE); +} + +static void filter_save(struct vty *vty, + const struct log_info *info, + const struct log_target *tar) +{ + if ((tar->filter_map & (1 << FLT_IMSI)) != 0) + vty_out(vty, " logging filter imsi %s%s", + tar->filter_data[FLT_IMSI], VTY_NEWLINE); + + if ((tar->filter_map & (1 << FLT_NSVC)) != 0) + vty_out(vty, " logging filter nsvc %u%s", + tar->filter_data[FLT_NSVC], VTY_NEWLINE); + + if ((tar->filter_map & (1 << FLT_BVC)) != 0) + vty_out(vty, " logging filter bvc %u%s", + tar->filter_data[FLT_BVC], VTY_NEWLINE); +} + + + const struct log_info log_info = { .filter_fn = filter_fn, + .save_fn = filter_save, + .print_fn = filter_print, .cat = default_categories, .num_cat = ARRAY_SIZE(default_categories), }; -- cgit v1.2.3