From 426851a7a85b66df16430e7bd123bca876081bb3 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Sat, 4 May 2013 04:04:44 +0000 Subject: [PATCH] Log SQL INSERT errors in detail --- sharelogging/sql.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sharelogging/sql.py b/sharelogging/sql.py index 33005bd..9de469d 100644 --- a/sharelogging/sql.py +++ b/sharelogging/sql.py @@ -34,6 +34,7 @@ class sql: dbe = ka['engine'] if 'statement' not in ka: _logger.warn('"statement" not specified for sql logger, but default may vary!') + self.exceptions = [] self.threadsafe = False getattr(self, 'setup_%s' % (dbe,))() if self.threadsafe: @@ -48,7 +49,12 @@ class sql: def _doInsert(self, o): (stmt, params) = o dbc = self.db.cursor() - dbc.execute(stmt, params) + try: + dbc.execute(stmt, params) + except BaseException as e: + _logger.critical('Error inserting data: %s%s' % ((stmt, params), traceback.format_exc())) + self.exceptions.append((stmt, params, e)) + return self.db.commit() def _thread(self): -- 2.1.4