diff rhodecode/lib/timerproxy.py @ 1228:73434499fa72

merges for stable
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 09 Apr 2011 11:22:32 +0200
parents 1e757ac98988
children bf263968da47
line wrap: on
line diff
--- a/rhodecode/lib/timerproxy.py	Fri Apr 08 00:47:20 2011 +0200
+++ b/rhodecode/lib/timerproxy.py	Sat Apr 09 11:22:32 2011 +0200
@@ -1,59 +1,28 @@
 from sqlalchemy.interfaces import ConnectionProxy
 import time
-from sqlalchemy import log
+import logging
+log = logging.getLogger('timerproxy')
+
 BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = xrange(30, 38)
 
 def color_sql(sql):
     COLOR_SEQ = "\033[1;%dm"
     COLOR_SQL = YELLOW
     normal = '\x1b[0m'
-    return COLOR_SEQ % COLOR_SQL + sql + normal 
-
-def one_space_trim(s):
-    if s.find("  ") == -1:
-        return s
-    else:
-        s = s.replace('  ', ' ')
-        return one_space_trim(s)
-    
-def format_sql(sql):
-    sql = color_sql(sql)
-    sql = sql.replace('\n', '')
-    sql = one_space_trim(sql)
-    sql = sql\
-        .replace(',', ',\n\t')\
-        .replace('SELECT', '\n\tSELECT \n\t')\
-        .replace('UPDATE', '\n\tUPDATE \n\t')\
-        .replace('DELETE', '\n\tDELETE \n\t')\
-        .replace('FROM', '\n\tFROM')\
-        .replace('ORDER BY', '\n\tORDER BY')\
-        .replace('LIMIT', '\n\tLIMIT')\
-        .replace('WHERE', '\n\tWHERE')\
-        .replace('AND', '\n\tAND')\
-        .replace('LEFT', '\n\tLEFT')\
-        .replace('INNER', '\n\tINNER')\
-        .replace('INSERT', '\n\tINSERT')\
-        .replace('DELETE', '\n\tDELETE')
-    return sql
-
+    return COLOR_SEQ % COLOR_SQL + sql + normal
 
 class TimerProxy(ConnectionProxy):
-    
+
     def __init__(self):
         super(TimerProxy, self).__init__()
-        self.logging_name = 'timerProxy'
-        self.log = log.instance_logger(self, True)
-        
-    def cursor_execute(self, execute, cursor, statement, parameters, context, executemany):
-        
+
+    def cursor_execute(self, execute, cursor, statement, parameters,
+                       context, executemany):
+
         now = time.time()
         try:
-            self.log.info(">>>>> STARTING QUERY >>>>>")
+            log.info(color_sql(">>>>> STARTING QUERY >>>>>"))
             return execute(cursor, statement, parameters, context)
         finally:
             total = time.time() - now
-            try:
-                self.log.info(format_sql("Query: %s" % statement % parameters))
-            except TypeError:
-                self.log.info(format_sql("Query: %s %s" % (statement, parameters)))
-            self.log.info("<<<<< TOTAL TIME: %f <<<<<" % total)
+            log.info(color_sql("<<<<< TOTAL TIME: %f <<<<<" % total))