Psycopg2错误信息

5

大家好,

我正在将错误消息写入日志文件,由于在数据库中出现唯一性约束错误,因此日志文件变得非常大。这是可以接受的,实际上我希望它能够这样做,所以我的问题是,如何避免每次发生重复键错误时将其写入日志文件?

        except Exception as err:
                logger.error('FunctionName: %s',  err)

感谢您,Adam。
1个回答

8

Psycopg会在异常中的属性pgcode中传递PostgreSQL错误代码:您可以验证错误实际上与唯一性冲突有关,并避免记录它们。例如:

try:
    cursor.execute("...")
except psycopg2.IntegrityError as err:
    if err.pgcode != '23505':
        logger.error('FunctionName: %s',  err)
except Exception as err:
    logger.error('FunctionName: %s',  err)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接