【发布时间】:2021-05-20 10:14:50
【问题描述】:
我遇到的情况是我的日志中出现重复条目。我环顾四周,似乎我必须在我已经完成的记录器配置中设置'propagate': False。但是,当我打印出logger.propagate 时,它会返回True。我什至尝试手动设置logger.propagate = False,但它仍然返回True,并且我的日志中收到重复条目。
问题的原因可能是什么?
import logging
logger = logging.getLogger(__name__)
logger.propagate = False
class PostsListAPIView(ListAPIView):
def get_queryset(self):
# Getting both twice
logger.error('Something went wrong!')
logger.error(logger.propagate) # Returns True
queryset = ...
return queryset
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"simple": {
"format": "{levelname} {message}",
"style": "{",
}
},
"handlers": {
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "simple",
},
},
"loggers": {
"app": {
"level": "DEBUG",
"handlers": ["console"],
'propagate': False,
}
},
}
我也试过设置"disable_existing_loggers": True,但是没有效果。
【问题讨论】:
标签: python-3.x django django-rest-framework python-logging django-logging