Files
croccybot/bot/data/cursor.py
Conatum 0183b63c55 Data system refactor and core redesign for public.
Redesigned data and core systems to be public-capable.
2021-09-12 11:04:49 +03:00

31 lines
711 B
Python

import logging
from psycopg2.extras import DictCursor, _ext
from meta import log
class DictLoggingCursor(DictCursor):
def log(self):
msg = self.query
if isinstance(msg, bytes):
msg = msg.decode(_ext.encodings[self.connection.encoding], 'replace')
log(
msg,
context="DATABASE_QUERY",
level=logging.DEBUG,
post=False
)
def execute(self, query, vars=None):
try:
return super().execute(query, vars)
finally:
self.log()
def callproc(self, procname, vars=None):
try:
return super().callproc(procname, vars)
finally:
self.log()