MCPcopy Create free account
hub / github.com/EndstoneMC/endstone / init_logger

Function init_logger

src/endstone/python/endstone_python.cpp:242–278  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

240}
241
242void init_logger(py::module &m)
243{
244 auto logger = py::class_<Logger>(m, "Logger", "Logger class which can format and output varies levels of logs.");
245
246 py::native_enum<Logger::Level>(logger, "Level", "enum.IntEnum", "Specifies the log level.")
247 .value("TRACE", Logger::Level::Trace)
248 .value("DEBUG", Logger::Level::Debug)
249 .value("INFO", Logger::Level::Info)
250 .value("WARNING", Logger::Level::Warning)
251 .value("ERROR", Logger::Level::Error)
252 .value("CRITICAL", Logger::Level::Critical)
253 .export_values()
254 .finalize();
255
256 logger.def("set_level", &Logger::setLevel, py::arg("level"), "Set the logging level for this Logger instance.")
257 .def("is_enabled_for", &Logger::isEnabledFor, py::arg("level"),
258 "Check if the Logger instance is enabled for the given log Level.")
259 .def(
260 "trace", [](const Logger &self, const std::string_view message) { self.log(Logger::Trace, message); },
261 py::arg("message"), "Log a message at the TRACE level.")
262 .def(
263 "debug", [](const Logger &self, const std::string_view message) { self.log(Logger::Debug, message); },
264 py::arg("message"), "Log a message at the DEBUG level.")
265 .def(
266 "info", [](const Logger &self, const std::string_view message) { self.log(Logger::Info, message); },
267 py::arg("message"), "Log a message at the INFO level.")
268 .def(
269 "warning", [](const Logger &self, const std::string_view message) { self.log(Logger::Warning, message); },
270 py::arg("message"), "Log a message at the WARNING level.")
271 .def(
272 "error", [](const Logger &self, const std::string_view message) { self.log(Logger::Error, message); },
273 py::arg("message"), "Log a message at the ERROR level.")
274 .def(
275 "critical", [](const Logger &self, const std::string_view message) { self.log(Logger::Critical, message); },
276 py::arg("message"), "Log a message at the CRITICAL level.")
277 .def_property_readonly("name", &Logger::getName, "Get the name of this Logger instance.");
278}
279
280void init_registry(py::module_ &m)
281{

Callers 1

PYBIND11_MODULEFunction · 0.85

Calls 2

valueMethod · 0.80
logMethod · 0.45

Tested by

no test coverage detected