我正在尝试配置 Django 应用程序的日志记录,以便 Django 的 ORM 生成的所有 SQL 都记录到 sql.log,而 Django 记录的所有其他消息都记录到另一个文件中。setup.py 的日志记录部分如下所示:
'version': 1,
'disable_existing_loggers': False,
'formatters': ...
'handlers': {
'logfile' : {
'class': 'logging.handlers.WatchedFileHandler',
'filename': '.../django.log',
'formatter': 'verbose',
},
'sqlfile': {
'class': 'logging.handlers.WatchedFileHandler',
'filename': '.../sql.log',
'formatter': 'simple',
},
'apache_log': {
'class': 'logging.StreamHandler',
'level': 'ERROR',
'formatter': 'verbose',
}
},
'loggers': {
'django': {
'handlers': ['logfile', 'apache_log'],
'propagate': True,
'level': 'INFO',
},
'django.db': {
'handlers': ['sqlfile'],
'propagate': True,
'level': 'DEBUG',
},
}
SQL 确实被记录到 sql.log,但它也被记录到 django.log,尽管我专门将“django”记录器上的 loglevel 设置为 INFO。
我错过了什么?