blob: 5ede5a471dc6f0bb78943d2da153db6daf3ecd48 [file] [log] [blame]
Daniel Willmann1cfce702023-11-03 21:19:03 +01001/* simple test for gsmtap logging */
2/*
3 * (C) 2023 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
4 * All Rights Reserved
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 */
17
18#include <osmocom/core/select.h>
19#include <osmocom/core/logging.h>
20#include <osmocom/core/utils.h>
21
22#include <stdlib.h>
23
24static const struct log_info_cat default_categories[] = {};
25
26const struct log_info log_info = {
27 .cat = default_categories,
28 .num_cat = ARRAY_SIZE(default_categories),
29};
30
31extern struct log_info *osmo_log_info;
32
33int main(int argc, char **argv)
34{
35 struct log_target *stderr_target;
36 struct log_target *gsmtap_target;
37
38 log_init(&log_info, NULL);
39 stderr_target = log_target_create_stderr();
40 log_add_target(stderr_target);
41 log_set_all_filter(stderr_target, 1);
42 log_set_print_filename2(stderr_target, LOG_FILENAME_NONE);
43 log_set_print_category_hex(stderr_target, 0);
44 log_set_print_category(stderr_target, 1);
45 log_set_use_color(stderr_target, 0);
46 log_parse_category_mask(stderr_target, "DLGLOBAL,1");
47
48 gsmtap_target = log_target_create_gsmtap("127.0.0.2", 4729, "gsmtap", 1, 1);
49 log_add_target(gsmtap_target);
50 log_set_all_filter(gsmtap_target, 1);
51 log_parse_category_mask(gsmtap_target, "DLGLOBAL,1");
52
53 log_target_file_switch_to_stream(stderr_target);
54
55 log_set_category_filter(stderr_target, DLIO, 1, LOGL_DEBUG);
56
57 for (int i = 0; i < 200; i++)
58 DEBUGP(DLGLOBAL, "Repeating message (i = %d)\n", i);
59
60 for (int i = 0; i < 200; i++)
61 osmo_select_main(1);
62
63 return 0;
64}