我正在尝试在 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