diff options
| author | HDA (OpenERP) <hda@tinyerp.com> | 2010-03-03 12:52:55 +0530 |
|---|---|---|
| committer | HDA (OpenERP) <hda@tinyerp.com> | 2010-03-03 12:52:55 +0530 |
| commit | 4873dd2e231a7e15e25725b4543a6da68317c598 (patch) | |
| tree | 529a7ea95af416fa39ee046ad601952105a0d86f /bin/sql_db.py | |
| parent | bca733707d0ea11c8c6b57dbde69b062e2c35ee3 (diff) | |
| parent | 6e9eb61f4b6bd20e36ef5518cd31c36b29ba1819 (diff) | |
Merged
bzr revid: hda@tinyerp.com-20100303072255-5opkt86b0kqlagj9
Diffstat (limited to 'bin/sql_db.py')
| -rw-r--r-- | bin/sql_db.py | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/bin/sql_db.py b/bin/sql_db.py index 2cc71408f5c..9c6fd1c27a4 100644 --- a/bin/sql_db.py +++ b/bin/sql_db.py @@ -21,6 +21,7 @@ __all__ = ['db_connect', 'close_db'] +import logging import netsvc from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT, ISOLATION_LEVEL_READ_COMMITTED, ISOLATION_LEVEL_SERIALIZABLE from psycopg2.psycopg1 import cursor as psycopg1cursor @@ -60,15 +61,11 @@ import re re_from = re.compile('.* from "?([a-zA-Z_0-9]+)"? .*$'); re_into = re.compile('.* into "?([a-zA-Z_0-9]+)"? .*$'); - -def log(msg, lvl=netsvc.LOG_DEBUG2): - logger = netsvc.Logger() - logger.notifyChannel('sql', lvl, msg) - sql_counter = 0 class Cursor(object): IN_MAX = 1000 + __logger = logging.getLogger('db.cursor') def check(f): @wraps(f) @@ -102,15 +99,16 @@ class Cursor(object): # pool, preventing some operation on the database like dropping it. # This can also lead to a server overload. msg = "Cursor not closed explicitly\n" \ - "Cursor was created at %s:%s" % self.__caller - log(msg, netsvc.LOG_WARNING) + "Cursor was created at %s:%s" + self.__logger.warn(msg, *self.__caller) self.close() @check def execute(self, query, params=None): if '%d' in query or '%f' in query: - log(query, netsvc.LOG_WARNING) - log("SQL queries cannot contain %d or %f anymore. Use only %s", netsvc.LOG_WARNING) + self.__logger.warn(query) + self.__logger.warn("SQL queries cannot contain %d or %f anymore. " + "Use only %s") if params: query = query.replace('%d', '%s').replace('%f', '%s') @@ -124,16 +122,15 @@ class Cursor(object): logger= netsvc.Logger() logger.notifyChannel('sql_db', netsvc.LOG_ERROR, "Programming error: %s, in query %s" % (pe, query)) raise - except Exception, e: - log("bad query: %s" % self._obj.query) - log(e) + except Exception: + self.__logger.exception("bad query: %s", self._obj.query) raise if self.sql_log: delay = mdt.now() - now delay = delay.seconds * 1E6 + delay.microseconds - log("query: %s" % self._obj.query) + self.__logger.debug("query: %s", self._obj.query) self.sql_log_count+=1 res_from = re_from.match(query.lower()) if res_from: @@ -158,14 +155,16 @@ class Cursor(object): if sqllogs[type]: sqllogitems = sqllogs[type].items() sqllogitems.sort(key=lambda k: k[1][1]) - log("SQL LOG %s:" % (type,)) + self.__logger.debug("SQL LOG %s:", type) for r in sqllogitems: delay = timedelta(microseconds=r[1][1]) - log("table: %s: %s/%s" %(r[0], str(delay), r[1][0])) + self.__logger.debug("table: %s: %s/%s", + r[0], delay, r[1][0]) sum+= r[1][1] sqllogs[type].clear() sum = timedelta(microseconds=sum) - log("SUM %s:%s/%d [%d]" % (type, str(sum), self.sql_log_count, sql_counter)) + self.__logger.debug("SUM %s:%s/%d [%d]", + type, sum, self.sql_log_count, sql_counter) sqllogs[type].clear() process('from') process('into') |
