Source code for track.utils.log

import logging
import sys


[docs]def set_log_level(level=logging.INFO): trail_logger.setLevel(level)
[docs]def get_log_record_constructor(): old_factory = logging.getLogRecordFactory() def log_record(name, level, path, lno, msg, args, exc_info, func=None, sinfo=None, **kwargs): start = path.rfind('/track/') if start > -1: path = path[start + 1:] return old_factory(name, level, path, lno, msg, args, exc_info, func, sinfo, **kwargs) return log_record
[docs]def make_logger(name): logger = logging.getLogger(name) logger.propagate = False logging.setLogRecordFactory(get_log_record_constructor()) ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.stream = sys.stdout formatter = logging.Formatter( '%(relativeCreated)8d [%(levelname)8s] %(name)s [%(process)d] %(pathname)s:%(lineno)d %(message)s') ch.setFormatter(formatter) if not logger.handlers: logger.addHandler(ch) return logger
if globals().get('trail_logger') is None: trail_logger = make_logger('TRACK') set_log_level(logging.DEBUG) warning = trail_logger.warning info = trail_logger.info debug = trail_logger.debug error = trail_logger.error critical = trail_logger.critical exception = trail_logger.exception