Psycopg2错误消息

aeu*_*ere 5 python error-handling psycopg2

所有,

我正在将错误消息写入日志文件,并且它变得非常大,因为它在数据库中的唯一约束上出错.这很好,它实际上是希望它这样做我的问题是,我怎样才能避免每次发生时将重复键错误写入日志文件?

        except Exception as err:
                logger.error('FunctionName: %s',  err)
Run Code Online (Sandbox Code Playgroud)

谢谢,亚当

pir*_*iro 7

Psycopg传递PostgreSQL错误代码以及属性中的异常pgcode:您可以验证错误实际上与唯一违规有关并避免记录它们.例如:

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)
Run Code Online (Sandbox Code Playgroud)