Coverage for .nox/test-3-9/lib/python3.9/site-packages/nskit/_logging.py: 93%
14 statements
« prev ^ index » next coverage.py v7.4.2, created at 2024-02-25 17:38 +0000
« prev ^ index » next coverage.py v7.4.2, created at 2024-02-25 17:38 +0000
1"""Logging helper.
3Creates a logger factory object for use in the nskit library.
4"""
5from nskit import __version__
8class LoggerFactory:
9 """Provides same API as LoggerFactory."""
11 def __init__(self):
12 """Initialise the factory."""
13 self._factory = None
15 def get_logger(self, name, config=None, **kwargs):
16 """Get the logger for a name."""
17 # Has in-class imports to avoid circular imports.
18 from nskit.common.logging.library import LibraryLoggerFactory
19 if self._factory is None:
20 self._factory = LibraryLoggerFactory('nskit', __version__)
21 return self._factory.get_logger(name, config=config, **kwargs)
23 def get(self, name, config=None, **kwargs):
24 """Alias for the get_logger method."""
25 return self.get_logger(name, config, **kwargs)
27 def getLogger(self, name, config=None, **kwargs):
28 """Alias for the get_logger method to provide parity with the standard logging API."""
29 return self.get_logger(name, config, **kwargs)
32logger_factory = LoggerFactory()