view pylons_app/lib/timerproxy.py @ 90:0c22a870bb79

logging proxy update
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 19 Apr 2010 23:03:01 +0200
parents 3ada2f409c1c
children a5a3bcc5ee89
line wrap: on
line source

from sqlalchemy.interfaces import ConnectionProxy
import time
import logging
log = logging.getLogger('timerproxy')

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
            try:
                log.info("Query: %s" % statement % parameters)
            except TypeError:
                log.info("Query: %s %s" % (statement, parameters))
            log.info("<<<<< TOTAL TIME: %f <<<<<" % total)