lokinet/pybind/llarp/logger.cpp

32 lines
764 B
C++
Raw Normal View History

#include <common.hpp>
2020-06-08 19:15:54 +00:00
#include <memory>
#include <llarp/util/logging/logger.hpp>
2020-06-08 19:15:54 +00:00
namespace llarp
{
struct PyLogger
{
std::unique_ptr<LogSilencer> shutup;
};
void
Logger_Init(py::module& mod)
{
py::class_<PyLogger>(mod, "LogContext")
.def(py::init<>())
.def_property(
"shutup",
[](PyLogger& self) { return self.shutup != nullptr; },
[](PyLogger& self, bool shutup) {
if (self.shutup == nullptr && shutup)
{
self.shutup = std::make_unique<LogSilencer>();
}
else if (self.shutup != nullptr && shutup == false)
{
self.shutup.reset();
}
});
}
} // namespace llarp