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

1"""Logging helper. 

2 

3Creates a logger factory object for use in the nskit library. 

4""" 

5from nskit import __version__ 

6 

7 

8class LoggerFactory: 

9 """Provides same API as LoggerFactory.""" 

10 

11 def __init__(self): 

12 """Initialise the factory.""" 

13 self._factory = None 

14 

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) 

22 

23 def get(self, name, config=None, **kwargs): 

24 """Alias for the get_logger method.""" 

25 return self.get_logger(name, config, **kwargs) 

26 

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) 

30 

31 

32logger_factory = LoggerFactory()