当我在django.db.backends上将记录器级别设置为DEBUG时,它会继续打印此消息
[14/Jun/2019 18:47:53] [DEBUG] [django.db.backends -> utils.py -> execute -> 90 -> (%.3f) %s; args=%s]
[14/Jun/2019 18:47:53] [DEBUG] [django.db.backends -> utils.py -> execute -> 90 -> (%.3f) %s; args=%s]
[14/Jun/2019 18:47:53] [DEBUG] [django.db.backends -> utils.py -> execute -> 90 -> (%.3f) %s; args=%s]
[14/Jun/2019 18:47:53] [DEBUG] [django.db.backends -> utils.py -> execute -> 90 -> (%.3f) %s; args=%s]
[14/Jun/2019 18:47:53] [DEBUG] [django.db.backends -> utils.py -> execute -> 90 -> (%.3f) %s; args=%s]
我的记录器格式为
'format' : "[%(asctime)s] [%(levelname)s] [%(name)s -> %(filename)s -> %(funcName)s -> %(lineno)s -> %(msg)s]",
Python 3.7版 Django版本1.11.20
你知道这是怎么回事吗?
答案 0 :(得分:0)
Python日志记录默认不支持unicode。 在Django设置中,将'encoding':'utf-8'添加到日志处理程序中。
LOGGING = {
...
'handlers': {
'django_log_file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': join(LOGFILE_ROOT, 'django.log'),
'encoding': 'utf-8', # <-- Add this
'formatter': 'verbose'
},
...
}