Журнал фильтра от "cherrypy.access.173118160", где мне нужно иметь "cherrypy.access. *" Для опции регистрации - PullRequest
0 голосов
/ 29 января 2020

Как настроить ведение журнала Python 3 для фильтрации всего с подстановочным знаком? cherrypy.access использует случайное значение или идентификатор потока, например "cherrypy.access.173118160" для каждого клиентского подключения. Вот что я пытаюсь выяснить, как отфильтровать "cherrypy.access. *" В "логгерах", кто-нибудь знает, как это сделать?

import os
import logging
import logging.config

def getLogger(name):

    if loggers.get(name):
        return loggers.get(name)

    logging.config.dictConfig({
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'standard': {
                'format': '%(asctime)s [%(levelname)-11.11s] [%(name)s] [%(threadName)-12.12s] [%(funcName)s:%(lineno)d] %(message)s'
            }
        },
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
                'formatter': 'standard',
                'stream': 'ext://sys.stdout'
            },
            'rotateBytesFile': {
                'level': 'DEBUG',
                'class': 'logging.handlers.RotatingFileHandler',
                'formatter': 'standard',
                'filename': '%s/%s' % (os.getcwd(), '/logs/example.log'),
                'maxBytes': 10485760,
                'backupCount': 10
            }
        },
        'loggers': {
            '': {
                'level': 'DEBUG',
                'handlers': ['console', 'rotateBytesFile'],
                'propagate': False
            },
            'cherrypy.access': {
                'level': 'WARNING',
                'handlers': ['console', 'rotateBytesFile'],
                'propagate': False
            },
        }
    })

    return logging.getLogger(name)
...