view env/lib/python3.9/site-packages/galaxy/util/custom_logging/__init__.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line source

import logging
import types


class TraceLogger:

    def __init__(self, name):
        self.name = name

    def log(**kwargs):
        raise TypeError("Abstract Method")


# Add custom "TRACE" log level for ludicrous verbosity.
LOGLV_TRACE = 5
logging.addLevelName(LOGLV_TRACE, "TRACE")


def trace(self, message, *args, **kws):
    if self.isEnabledFor(LOGLV_TRACE):
        self._log(LOGLV_TRACE, message, args, **kws)


def get_logger(name=None):
    logger = logging.getLogger(name)
    logger.trace = types.MethodType(trace, logger)
    return logger