大家好,
我正在将错误消息写入日志文件,由于在数据库中出现唯一性约束错误,因此日志文件变得非常大。这是可以接受的,实际上我希望它能够这样做,所以我的问题是,如何避免每次发生重复键错误时将其写入日志文件?
except Exception as err:
logger.error('FunctionName: %s', err)
感谢您,Adam。
大家好,
我正在将错误消息写入日志文件,由于在数据库中出现唯一性约束错误,因此日志文件变得非常大。这是可以接受的,实际上我希望它能够这样做,所以我的问题是,如何避免每次发生重复键错误时将其写入日志文件?
except Exception as err:
logger.error('FunctionName: %s', err)
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)