diff --git a/core/ArchiveExtractor.py b/core/ArchiveExtractor.py index f04984412df4b93be1c71b58b92c5ffd2c163ab0..8ba4086616b98ba470422b6e8ba5f0e9b3b6acee 100755 --- a/core/ArchiveExtractor.py +++ b/core/ArchiveExtractor.py @@ -30,7 +30,7 @@ class ArchiveExtractor: self, extractorKind='H', extractorNumber=2, extractorPath=None, - logger=logging.getLogger("ArchiveExtractor") + logger='info', ): """ Constructor function @@ -47,16 +47,29 @@ class ArchiveExtractor: Tango path to the extractor. If this argument is given, it takes precedence over extractorKind and extractorNumber. - logger: logging.Logger - Logger object to use + logger: logging.Logger, str + Logger object to use. + If string, can be a log level. A basic logger with stream handler will be instanciated. + Default to 'info'. Return ------ ArchiveExtractor """ + ####################################################### # Get logger - self.logger = logger + if type(logger) == logging.Logger: + self.logger = logger + else: + self.logger = logging.getLogger(__name__) + self.logger.setLevel(getattr(logging, logger.upper())) + if not self.logger.hasHandlers(): + # No handlers, create one + sh = logging.StreamHandler() + sh.setLevel(self.logger.level) + sh.setFormatter(logging.Formatter("%(levelname)s:%(message)s")) + self.logger.addHandler(sh) ####################################################### # Select Extractor