Django日志未显示参数

2 投票
1 回答
1211 浏览
提问于 2025-04-17 01:13

我在一个自定义的django-admin命令里有这一行代码:

logger.info("%d records updated", records_updated)

当我运行这个命令时,日志文件和控制台的输出显示的结果是我预期的:

[2011-09-02 03:49:31,405] INFO::(27041 140698227433576)::update_records - 5 records updated 

但是,发给管理员的邮件却显示:

INFO: %d records updated  #This is the subject and body of the email the admin receives

这是我在settings.py文件里的日志信息设置:

LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
    'default': {
        'format': '[%(asctime)s] %(levelname)s::(%(process)d %(thread)d)::%(module)s - %(message)s'
    },
},
'handlers': {
    'email_admins': {
        'level': 'INFO',
        'class': 'django.utils.log.AdminEmailHandler',
        'include_html': True,
        'formatter': 'default',
    },
    'admin_console': {
        'level':'INFO',
        'class':'logging.StreamHandler',
        'formatter': 'default'
    },
    'null': {
        'level':'DEBUG',
        'class':'django.utils.log.NullHandler',
        'formatter': 'default',
    },
    'file_handler': {
        'level': 'DEBUG',
        'formatter':'default',
        'class': 'logging.handlers.TimedRotatingFileHandler',
        'filename':'logs/Project_log',
        'when':'midnight',
        'interval':1,
    },
    'request_handler': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': 'logs/django_request.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'default',
    },
},
'loggers': {
    '': {
        'handlers': ['email_admins', 'file_handler', 'admin_console'],
        'level': 'DEBUG',
        'propagate': True,                                                                                                                                                                                                                
    },
    'django': {
        'handlers':['null'],
        'propagate': True,
        'level':'INFO',
    },
    'django.request': {
        'handlers': ['email_admins', 'request_handler'],
        'level': 'ERROR',
        'propagate': False,
    },
}

}

任何反馈都很感谢。

1 个回答

-1

logger.info("%d records updated" % records_updated)

也许你应该这样写?

撰写回答