[FIX] logging PostgreSQLHandler: do not insert {create,write}_uid
As logs can be stored in any database, we can't insert create_uid and write_uid as it refer to the current database not the logging one, where FK may not match
This commit is contained in:
parent
65f68c1f65
commit
6eacf91671
|
@ -75,7 +75,6 @@ class PostgreSQLHandler(logging.Handler):
|
||||||
def emit(self, record):
|
def emit(self, record):
|
||||||
ct = threading.current_thread()
|
ct = threading.current_thread()
|
||||||
ct_db = getattr(ct, 'dbname', None)
|
ct_db = getattr(ct, 'dbname', None)
|
||||||
ct_uid = getattr(ct, 'uid', None)
|
|
||||||
dbname = tools.config['log_db'] or ct_db
|
dbname = tools.config['log_db'] or ct_db
|
||||||
if dbname:
|
if dbname:
|
||||||
cr = None
|
cr = None
|
||||||
|
@ -86,10 +85,10 @@ class PostgreSQLHandler(logging.Handler):
|
||||||
if traceback:
|
if traceback:
|
||||||
msg = "%s\n%s" % (msg, traceback)
|
msg = "%s\n%s" % (msg, traceback)
|
||||||
level = logging.getLevelName(record.levelno)
|
level = logging.getLevelName(record.levelno)
|
||||||
val = (ct_uid, ct_uid, 'server', ct_db, record.name, level, msg, record.pathname, record.lineno, record.funcName)
|
val = ('server', ct_db, record.name, level, msg, record.pathname, record.lineno, record.funcName)
|
||||||
cr.execute("""
|
cr.execute("""
|
||||||
INSERT INTO ir_logging(create_date, write_date, create_uid, write_uid, type, dbname, name, level, message, path, line, func)
|
INSERT INTO ir_logging(create_date, type, dbname, name, level, message, path, line, func)
|
||||||
VALUES (NOW() at time zone 'UTC', NOW() at time zone 'UTC', %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
VALUES (NOW() at time zone 'UTC', %s, %s, %s, %s, %s, %s, %s, %s)
|
||||||
""", val )
|
""", val )
|
||||||
cr.commit()
|
cr.commit()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
|
|
Loading…
Reference in New Issue