我目前正在使用psycopg2连接到数据库。例如,如果查询失败,我会得到包含整个sql insert语句的错误消息,其中包含敏感信息。有没有办法配置psycopg2,使其不显示sql语句或屏蔽某些字段?
示例:
"ERROR", "message": "(psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"pksa_account\"\nDETAIL: Key (b_loadid, customer_account_number)=(xx, xxxx) already exists.\n\n[SQL: INSERT INTO ... ...
其中,after INSERT and是实际的字段和值。
发布于 2020-12-03 22:52:03
我们解决了这个问题,使用sqlalchemy连接(这是在幕后使用psycopg2 ),它在创建engine:hide_parameters = True时提供配置选项,这就解决了所有问题。现在我们有了屏蔽了参数的漂亮日志:
DETAIL: Key (id)=(4) already exists.
[SQL: INSERT INTO xxx.xxx(id, loaddatetime) VALUES (%(id)s, %(loaddatetime)s)]
[SQL parameters hidden due to hide_parameters=True]
(Background on this error at: http://sqlalche.me/e/13/gkpj)```https://stackoverflow.com/questions/65108041
复制相似问题