Initialize package

package_logger

Bases: logging.Logger

Package logger extending logging.Logger

Parameters:

Name Type Description Default
logging Logger

Logger object

required
Source code in cumulus_packager/__init__.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class package_logger(logging.Logger):
    """Package logger extending logging.Logger

    Parameters
    ----------
    logging : Logger
        Logger object
    """

    def __init__(self):
        super().__init__(__package__)

        self.log_level = "info"

        formatter = logging.Formatter(
            "[%(asctime)s.%(msecs)03d] "
            + "{%(name)s:%(funcName)s} - %(levelname)-s - %(message)s",
            "%Y-%m-%dT%H:%M:%S",
        )

        ch = logging.StreamHandler()

        ch.setFormatter(formatter)
        self.addHandler(ch)

    @property
    def log_level(self):
        return logging._levelToName[self.level]

    @log_level.setter
    def log_level(self, level):
        level = logging._nameToLevel[level.upper()] if isinstance(level, str) else level
        self.setLevel(level)