我有python代码可以调用mysql。它记录所有mysql错误(并在谷歌聊天中向我发送通知)。但是,此类警告不会被报告,这是有意义的,因为它们不是警告。但是,我希望在出现警告时记录mysql语句,以便修复潜在问题。找到这些警告并将其发送到日志(使用坏的mysql状态)的最佳方法是什么
/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py:170: Warning: (1366, "Incorrect string value: '\\xF3n Cha...' for column 'recipient-name' at row 1")
try:
cursor.execute(query_string, field_split)
db.commit()
except pymysql.err.InternalError as e:
logger.warning('Mysql Error : %s', e)
logger.warning('Statement : %s', cursor._last_executed)
string_google= str(e.args[1] + ' - ' + cursor._last_executed)
googlechat(string_google)
return #exit rather then marking report run good
使用警告模块中的catch_warnings。它是一个上下文管理器,为您提供警告列表。代码如下所示:
相关问题 更多 >
编程相关推荐