如何设置自定义 sqlalchemy 日志记录参数?

时间:2021-02-23 17:07:13

标签: python django sqlalchemy

我正在使用 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 引擎。任何人都可以帮忙吗?

谢谢

0 个答案:

没有答案