2

我正在尝试在 Django 应用程序中使用日志记录。我想在配置文件中预先定义我的格式化程序和处理程序,然后根据需要在不同时间使用不同的处理程序。

目前我在我的 settings.py 中使用以下记录器配置

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'format1': {
            'format': '[%(duration).3f] %(statement)s',
        },
        'format2': {
            'format': '%(levelname)s %(funcName)s() %(pathname)s[:%(lineno)s] %(name)s \n%(message)s'
        }
    },
    'handlers': {
        'console1': {
            'level': 'DEBUG',
            'formatter': 'format1',
            'class': 'logging.StreamHandler',
        },
        'console2': {
            'class': 'logging.StreamHandler',
            'formatter': 'format2',
            'level': 'DEBUG',
        }
    }
}

有没有办法可以使用 settings.py 文件中指定的处理程序

喜欢:

import logging
def someview(request)
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.DEBUG)
    logger.addHandler("name of the handler from confi file i.e console1 or console2")
    #I tried 
    # logger.addHandler('console1') it says 
    #  Attribute Error - 'str' object has no attribute 'level'
    #  if record.levelno >= hdlr.level:
    #  /usr/lib64/python3.7/logging/__init__.py in callHandlers, line 1590
    #

那么如何使用配置文件中提到的handler

4

0 回答 0