##// END OF EJS Templates
Added colored formatter to project, and configs
Added colored formatter to project, and configs

File last commit:

r153:a5a3bcc5 default
r153:a5a3bcc5 default
Show More
timerproxy.py
44 lines | 1.4 KiB | text/x-python | PythonLexer
Marcin Kuzminski
Added sqlalchemy support...
r49 from sqlalchemy.interfaces import ConnectionProxy
import time
import logging
logging proxy update
r90 log = logging.getLogger('timerproxy')
Added colored formatter to project, and configs
r153 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 format_sql(sql):
sql = color_sql(sql)
sql = sql.replace('SELECT', '\n SELECT \n\t')\
.replace('FROM', '\n FROM')\
.replace('ORDER BY', '\n ORDER BY')\
.replace('LIMIT', '\n LIMIT')\
.replace('WHERE', '\n WHERE')\
.replace('AND', '\n AND')\
.replace('LEFT', '\n LEFT')\
.replace('INNER', '\n INNER')\
.replace('INSERT', '\n INSERT')\
.replace('DELETE', '\n DELETE')
return sql
Marcin Kuzminski
Added sqlalchemy support...
r49
class TimerProxy(ConnectionProxy):
def cursor_execute(self, execute, cursor, statement, parameters, context, executemany):
now = time.time()
try:
log.info(">>>>> STARTING QUERY >>>>>")
return execute(cursor, statement, parameters, context)
finally:
total = time.time() - now
logging proxy update
r90 try:
Added colored formatter to project, and configs
r153 log.info(format_sql("Query: %s" % statement % parameters))
logging proxy update
r90 except TypeError:
Added colored formatter to project, and configs
r153 log.info(format_sql("Query: %s %s" % (statement, parameters)))
Marcin Kuzminski
Added sqlalchemy support...
r49 log.info("<<<<< TOTAL TIME: %f <<<<<" % total)
Added colored formatter to project, and configs
r153