summaryrefslogtreecommitdiff
path: root/openerp/sql_db.py
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2011-09-24 03:58:52 +0200
committerOlivier Dony <odo@openerp.com>2011-09-24 03:58:52 +0200
commite85f246469d6dbf5c9f801e20babd7d13b2c05f9 (patch)
tree29edf98ca7f211ecd32d031b066b8f78f8992acc /openerp/sql_db.py
parent253eaa462d3773a6d0cc820ac244df0d4e0c5a67 (diff)
[IMP] sql_db: auto-exception-logging can now be turned off per cursor, not only per query
bzr revid: odo@openerp.com-20110924015852-9vru7cdsmzbvault
Diffstat (limited to 'openerp/sql_db.py')
-rw-r--r--openerp/sql_db.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/openerp/sql_db.py b/openerp/sql_db.py
index 79606b9101c..8038c39486d 100644
--- a/openerp/sql_db.py
+++ b/openerp/sql_db.py
@@ -183,6 +183,8 @@ class Cursor(object):
self.__caller = False
self.__closer = False
+ self._default_log_exceptions = True
+
def __del__(self):
if not self.__closed:
# Oops. 'self' has not been closed explicitly.
@@ -199,7 +201,7 @@ class Cursor(object):
self._close(True)
@check
- def execute(self, query, params=None, log_exceptions=True):
+ def execute(self, query, params=None, log_exceptions=None):
if '%d' in query or '%f' in query:
self.__logger.warn(query)
self.__logger.warn("SQL queries cannot contain %d or %f anymore. "
@@ -212,11 +214,11 @@ class Cursor(object):
params = params or None
res = self._obj.execute(query, params)
except psycopg2.ProgrammingError, pe:
- if log_exceptions:
+ if self._default_log_exceptions or log_exceptions:
self.__logger.error("Programming error: %s, in query %s", pe, query)
raise
except Exception:
- if log_exceptions:
+ if self._default_log_exceptions or log_exceptions:
self.__logger.exception("bad query: %s", self._obj.query or query)
raise