我正在使用 sqlalchemy 连接到基于 django 的 python 应用程序中的数据库。在 settings.py 中,我配置了这样的日志记录:
settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format':'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
},
},
'handlers': {
'console':
{
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
}
},
'loggers': {
'app1': {
'handlers': ['console'],
'level': 'DEBUG',
},
'sqlalchemy.engine': {
'handlers': ['console'],
'level': 'INFO',
},
}
在views.py中
sqlogger=logging.getLogger("sqlalchemy.engine")
日志打印如下:
2021-02-23 16:32:35,741 - sqlalchemy.engine.base.Engine - INFO - SELECT `info`.`name` AS `info_name`, `info`.`open from `info`
我想输入登录的用户变量,我将它存储在会话中 request.session["username"]="Designer"
以便使用登录用户打印日志:
2021-02-23 16:32:35,741 - sqlalchemy.engine.base.Engine - Designer- INFO - SELECT `info`.`name` AS `info_name`, `info`.`open from `info`
Sqlalchemy 自动发出日志语句,所以我不确定如何将用户的这种自定义传递给 sqlalchemy 引擎。任何人都可以帮忙吗?
谢谢