#!/usr/bin/env python """ Helper functions for zmq video messaging. """ __author__ = "Franoosh Corporation" import logging class CustomLoggingFormatter(logging.Formatter): """Custom logging formatter""" debug_fmt = 'DEBUG: %(filename)s:%(lineno)d %(asctime)s %(message)s' info_fmt = 'INFO: %(asctime)s %(message)s' warning_fmt = 'WARNING: %(asctime)s %(message)s' error_fmt = 'ERROR: %(asctime)s %(message)s' critical_fmt = 'CRITICAL: %(asctime)s %(message)s' def __init__(self): super().__init__( fmt="%(levelno)d: %s(asctime)s %(message)s", datefmt=None, ) def format(self, record): orig_fmt = self._style._fmt if record.levelno == logging.DEBUG: self._style._fmt = CustomLoggingFormatter.debug_fmt elif record.levelno == logging.INFO: self._style._fmt = CustomLoggingFormatter.info_fmt elif record.levelno == logging.WARNING: self._style._fmt = CustomLoggingFormatter.warning_fmt elif record.levelno == logging.ERROR: self._style._fmt = CustomLoggingFormatter.error_fmt elif record.levelno == logging.CRITICAL: self._style._fmt = CustomLoggingFormatter.critical_fmt result = logging.Formatter.format(self, record) self._style._fmt = orig_fmt return result