Django-> django.db.backends启用DEBUG继续打印(%.3f)%s; args =%s

时间:2019-06-14 13:20:27

标签: python django

当我在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

你知道这是怎么回事吗?

1 个答案:

答案 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'
        },
    ...  
}