diff --git a/swh/loader/core/loader.py b/swh/loader/core/loader.py --- a/swh/loader/core/loader.py +++ b/swh/loader/core/loader.py @@ -141,7 +141,7 @@ ADDITIONAL_CONFIG = {} - def __init__(self, logging_class, config=None): + def __init__(self, logging_class=None, config=None): if config: self.config = config else: @@ -150,6 +150,9 @@ self.storage = get_storage(**self.config['storage']) + if logging_class is None: + logging_class = '%s.%s' % (self.__class__.__module__, + self.__class__.__name__) self.log = logging.getLogger(logging_class) self.contents = QueuePerSizeAndNbUniqueElements( diff --git a/swh/loader/core/tests/test_loader.py b/swh/loader/core/tests/test_loader.py --- a/swh/loader/core/tests/test_loader.py +++ b/swh/loader/core/tests/test_loader.py @@ -4,6 +4,7 @@ # See top-level LICENSE file for more information import datetime +import logging from swh.model.hashutil import hash_to_bytes @@ -300,3 +301,22 @@ self.assertOriginMetadataContains( self.in_origin['type'], self.in_origin['url'] + 'blah', {'test_metadata': 'foobar'}) + + +def test_loader_logger_default_name(): + loader = DummyBufferedLoader() + assert isinstance(loader.log, logging.Logger) + assert loader.log.name == \ + 'swh.loader.core.tests.test_loader.DummyBufferedLoader' + + loader = DummyUnbufferedLoader() + assert isinstance(loader.log, logging.Logger) + assert loader.log.name == \ + 'swh.loader.core.tests.test_loader.DummyUnbufferedLoader' + + +def test_loader_logger_with_name(): + loader = DummyBufferedLoader('some.logger.name') + assert isinstance(loader.log, logging.Logger) + assert loader.log.name == \ + 'some.logger.name'