diff options
| author | Olivier Dony <odo@openerp.com> | 2010-09-03 14:24:26 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2010-09-03 14:24:26 +0200 |
| commit | 0cc75127a8bb4cc342a3a55d7aae731dd315421f (patch) | |
| tree | 1134c40d3a2f52fa8f4e28f1ec0cf8d06e4f0c92 /bin/sql_db.py | |
| parent | 4459d0f20240b6122938ea2a20f9fa15de784eff (diff) | |
[IMP] sql_db.cursor: optional 'log_exceptions' flag to turn off logging exceptions inside the cr.execute() method
This is useful when the caller wants to do the logging.
bzr revid: odo@openerp.com-20100903122426-fox86td4uqr3l0jx
Diffstat (limited to 'bin/sql_db.py')
| -rw-r--r-- | bin/sql_db.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bin/sql_db.py b/bin/sql_db.py index 28676d772db..438d513b0e4 100644 --- a/bin/sql_db.py +++ b/bin/sql_db.py @@ -108,7 +108,7 @@ class Cursor(object): self._close(True) @check - def execute(self, query, params=None): + def execute(self, query, params=None, log_exceptions=True): if '%d' in query or '%f' in query: self.__logger.warn(query) self.__logger.warn("SQL queries cannot contain %d or %f anymore. " @@ -123,10 +123,12 @@ class Cursor(object): params = params or None res = self._obj.execute(query, params) except psycopg2.ProgrammingError, pe: - self.__logger.error("Programming error: %s, in query %s", pe, query) + if log_exceptions or self.sql_log: + self.__logger.error("Programming error: %s, in query %s", pe, query) raise except Exception: - self.__logger.exception("bad query: %s", self._obj.query or query) + if log_exceptions or self.sql_log: + self.__logger.exception("bad query: %s", self._obj.query or query) raise if self.sql_log: |
