Skip to content
Snippets Groups Projects
Commit aad38bd0 authored by Dr. Felix Tobias Schindler's avatar Dr. Felix Tobias Schindler
Browse files

[bindings] add test_logger(), enable logging after init_logger()

parent 57309b8d
No related branches found
No related tags found
No related merge requests found
......@@ -67,14 +67,28 @@ PYBIND11_PLUGIN(_common)
Dune::XT::Common::TimedLogger().create(
max_info_level, max_debug_level, enable_warnings, enable_colors, info_color, debug_color, warning_color);
},
"max_info_level"_a = -1,
"max_debug_level"_a = -1,
"max_info_level"_a = std::numeric_limits<ssize_t>::max(),
"max_debug_level"_a = std::numeric_limits<ssize_t>::max(),
"enable_warnings"_a = true,
"enable_colors"_a = true,
"info_color"_a = "blue",
"debug_color"_a = "darkgray",
"warning_color"_a = "red");
m.def("_test_logger",
[](const bool info, const bool debug, const bool warning) {
auto logger = Dune::XT::Common::TimedLogger().get("dune.xt.common");
if (info)
logger.info() << "info logging works!" << std::endl;
if (debug)
logger.debug() << "debug logging works!" << std::endl;
if (warning)
logger.warn() << "warning logging works!" << std::endl;
},
"info"_a = true,
"debug"_a = true,
"warning"_a = true);
m.def("_is_debug", []() {
#ifndef NDEBUG
return true;
......
......@@ -15,6 +15,7 @@ except ImportError:
pass
_init_logger_methods = list()
_test_logger_methods = list()
_init_mpi_methods = list()
_other_modules = ('xt.la', 'xt.grid', 'xt.functions', 'gdt')
......@@ -22,14 +23,15 @@ from ._common import __dict__ as module
to_import = [name for name in module if not name.startswith('_')]
globals().update({name: module[name] for name in to_import})
_init_logger_methods.append(module['_init_logger'])
_test_logger_methods.append(module['_test_logger'])
_init_mpi_methods.append(module['_init_mpi'])
DEBUG = module['_is_debug']()
del to_import
del module
def init_logger(max_info_level=-1,
max_debug_level=-1,
def init_logger(max_info_level=999,
max_debug_level=999,
enable_warnings=True,
enable_colors=True,
info_color='blue',
......@@ -46,6 +48,18 @@ def init_logger(max_info_level=-1,
for init_logger_method in init_logger_methods:
init_logger_method(max_info_level, max_debug_level, enable_warnings, enable_colors, info_color, debug_color,
warning_color)
def test_logger(info=True, debug=True, warning=True):
test_logger_methods = _test_logger_methods.copy()
for module_name in _other_modules:
try:
mm = import_module('dune.{}'.format(module_name))
for test_logger_method in mm._test_logger_methods:
test_logger_methods.append(test_logger_method)
except ModuleNotFoundError:
pass
for test_logger_method in test_logger_methods:
test_logger_method(info, debug, warning)
def init_mpi(args=list()):
if DEBUG:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment