Ejemplo n.º 1
0
def logging_setup(conf):
    logger = logging.getLogger()
    logger.propagate = False

    default = '%(asctime)s - %(process)d - %(levelname)s - %(session)s - %(module)s - %(message)s'
    log_format = conf.get('format', default)
    formatter = logging.Formatter(log_format)

    log_level = conf.get('level', 'INFO')
    logger.setLevel(log_level)

    logfile = conf.get('logfile')
    if logfile:
        logsize = conf.get('logsize', 512 * 1024)
        retain = conf.get('logretain', 5)
        handler = ConcurrentRotatingFileHandler(logfile, 'a', logsize, retain)
    else:
        handler = logging.StreamHandler()

    handler.setFormatter(formatter)
    handler.setLevel(log_level)
    logger.addHandler(handler)

    logger.addFilter(SessionFilter())
    handler.addFilter(SessionFilter())

    logging.getLogger('requests').setLevel('WARN')
    logging.getLogger('urllib3').setLevel('WARN')
Ejemplo n.º 2
0
Archivo: log.py Proyecto: Steap/pack
    path = os.getcwd() + '/'

warningFilter = logging.Filter()
errorFilter = logging.Filter()
criticalFilter = logging.Filter()

# 区分日志等级
warningFilter.filter = lambda level: 30 <= level.levelno <= 30
errorFilter.filter = lambda level: 40 <= level.levelno <= 40
criticalFilter.filter = lambda level: 50 <= level.levelno <= 50

# 日志分三个等级
warningOperation = RotatingFileHandler(path + 'z_warning.log',
                                       maxBytes=1 * 1024 * 1024,
                                       backupCount=1)
warningOperation.addFilter(warningFilter)
warningFormat = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
warningOperation.setFormatter(warningFormat)

errorOperation = RotatingFileHandler(path + 'z_error.log',
                                     maxBytes=10 * 1024 * 1024,
                                     backupCount=5)
errorOperation.addFilter(errorFilter)
errorFormat = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
errorOperation.setFormatter(errorFormat)

criticalOperation = RotatingFileHandler(path + 'z_critical.log',
                                        maxBytes=10 * 1024 * 1024,
                                        backupCount=2)
criticalOperation.addFilter(criticalFilter)
criticalFormat = logging.Formatter('%(asctime)s %(levelname)s %(message)s')