summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/python/gnuradio/gr/bindings/logger_python.cc
blob: 4e35f9c33944dc7ff902e708a6a7e5b0b9e1db80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*
 * Copyright 2020 Free Software Foundation, Inc.
 *
 * This file is part of GNU Radio
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 *
 */

/* This file is automatically generated using bindtool */

#include <pybind11/complex.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

namespace py = pybind11;

#include <gnuradio/logger.h>

void bind_logger(py::module& m)
{
    using logger = gr::logger;
    using logger_config = gr::logger_config;


    py::class_<logger, std::shared_ptr<logger>>(m, "logger")

        .def(py::init<std::string>(), py::arg("logger_name"))
        .def(py::init<gr::logger const&>(), py::arg("arg0"))

        .def("set_level", &logger::set_level, py::arg("level"))
        .def("get_level", &logger::get_level, py::arg("level"))
        .def("debug", &logger::debug, py::arg("msg"))
        .def("info", &logger::info, py::arg("msg"))
        .def("notice", &logger::notice, py::arg("msg"))
        .def("warn", &logger::warn, py::arg("msg"))
        .def("error", &logger::error, py::arg("msg"))
        .def("crit", &logger::crit, py::arg("msg"))
        .def("alert", &logger::alert, py::arg("msg"))
        .def("fatal", &logger::fatal, py::arg("msg"))
        .def("emerg", &logger::emerg, py::arg("msg"))
        .def("errorIF", &logger::errorIF, py::arg("cond"), py::arg("msg"))
        .def("log_assert", &logger::log_assert, py::arg("cond"), py::arg("msg"))
        .def("add_console_appender",
             &logger::add_console_appender,
             py::arg("target"),
             py::arg("pattern"))
        .def("set_console_appender",
             &logger::set_console_appender,
             py::arg("target"),
             py::arg("pattern"))
        .def("add_file_appender",
             &logger::add_file_appender,
             py::arg("filename"),
             py::arg("append"),
             py::arg("pattern"))
        .def("set_file_appender",
             &logger::set_file_appender,
             py::arg("filename"),
             py::arg("append"),
             py::arg("pattern"))
        .def("add_rollingfile_appender",
             &logger::add_rollingfile_appender,
             py::arg("filename"),
             py::arg("filesize"),
             py::arg("bkup_index"),
             py::arg("append"),
             py::arg("mode"),
             py::arg("pattern"));


    py::class_<logger_config, std::shared_ptr<logger_config>>(m, "logger_config")


        .def_static("get_filename", &logger_config::get_filename)
        .def_static("get_watch_period", &logger_config::get_watch_period)
        .def_static("load_config",
                    &logger_config::load_config,
                    py::arg("filename"),
                    py::arg("watch_period") = 0)
        .def_static("stop_watch", &logger_config::stop_watch)
        .def_static("reset_config", &logger_config::reset_config);


    // m.def("configure_default_loggers",&gr::configure_default_loggers,
    //     py::arg("l"),
    //     py::arg("d"),
    //     py::arg("name")
    // );
    m.def("update_logger_alias",
          &gr::update_logger_alias,
          py::arg("name"),
          py::arg("alias"));
    m.def("logger_get_logger", &gr::logger_get_logger, py::arg("name"));
    m.def("logger_load_config", &gr::logger_load_config, py::arg("config_filename") = "");
    m.def("gr_logger_reset_config", &gr_logger_reset_config);
    m.def("logger_set_level",
          (void (*)(gr::logger_ptr, std::string const&)) & gr::logger_set_level,
          py::arg("logger"),
          py::arg("level"));
    m.def("logger_set_level",
          (void (*)(gr::logger_ptr, log4cpp::Priority::Value)) & gr::logger_set_level,
          py::arg("logger"),
          py::arg("level"));
    m.def("logger_get_level",
          (void (*)(gr::logger_ptr, std::string&)) & gr::logger_get_level,
          py::arg("logger"),
          py::arg("level"));
    // m.def("logger_get_level",(void (*)(gr::logger_ptr, log4cpp::Priority::Value
    // &))&gr::logger_get_level,
    //     py::arg("logger"),
    //     py::arg("level")
    // );
    // m.def("logger_add_appender",&gr::logger_add_appender,
    //     py::arg("logger"),
    //     py::arg("appender")
    // ); // Not Implemented
    // m.def("logger_set_appender",&gr::logger_set_appender,
    //     py::arg("logger"),
    //     py::arg("appender")
    // ); // Not Implemented
    m.def("logger_add_console_appender",
          &gr::logger_add_console_appender,
          py::arg("logger"),
          py::arg("target"),
          py::arg("pattern"));
    m.def("logger_set_console_appender",
          &gr::logger_set_console_appender,
          py::arg("logger"),
          py::arg("target"),
          py::arg("pattern"));
    m.def("logger_add_file_appender",
          &gr::logger_add_file_appender,
          py::arg("logger"),
          py::arg("filename"),
          py::arg("append"),
          py::arg("pattern"));
    m.def("logger_set_file_appender",
          &gr::logger_set_file_appender,
          py::arg("logger"),
          py::arg("filename"),
          py::arg("append"),
          py::arg("pattern"));
    m.def("logger_add_rollingfile_appender",
          &gr::logger_add_rollingfile_appender,
          py::arg("logger"),
          py::arg("filename"),
          py::arg("filesize"),
          py::arg("bkup_index"),
          py::arg("append"),
          py::arg("mode"),
          py::arg("pattern"));
    m.def("logger_get_logger_names", &gr::logger_get_logger_names);
}