Merge pull request #192 from acsone/11.0-188-port

[11.0][PORT] 188 from 10.0
This commit is contained in:
Guewen Baconnier
2020-06-22 13:36:27 +02:00
committed by GitHub
co-authored by GitHub
+17
View File
@@ -3,9 +3,12 @@
import logging import logging
import os import os
import threading import threading
import uuid
from distutils.util import strtobool from distutils.util import strtobool
from odoo import http
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
try: try:
@@ -24,6 +27,8 @@ class OdooJsonFormatter(jsonlogger.JsonFormatter):
def add_fields(self, log_record, record, message_dict): def add_fields(self, log_record, record, message_dict):
record.pid = os.getpid() record.pid = os.getpid()
record.dbname = getattr(threading.currentThread(), 'dbname', '?') record.dbname = getattr(threading.currentThread(), 'dbname', '?')
record.request_id = getattr(threading.current_thread(), 'request_uuid', None)
record.uid = getattr(threading.current_thread(), 'uid', None)
_super = super(OdooJsonFormatter, self) _super = super(OdooJsonFormatter, self)
return _super.add_fields(log_record, record, message_dict) return _super.add_fields(log_record, record, message_dict)
@@ -33,3 +38,15 @@ if is_true(os.environ.get('ODOO_LOGGING_JSON')):
'%(dbname)s %(name)s: %(message)s') '%(dbname)s %(name)s: %(message)s')
formatter = OdooJsonFormatter(format) formatter = OdooJsonFormatter(format)
logging.getLogger().handlers[0].formatter = formatter logging.getLogger().handlers[0].formatter = formatter
# monkey patch WebRequest constructor to store request_uuid
org_init = http.WebRequest.__init__
def new_init(self, httprequest):
org_init(self, httprequest)
threading.current_thread().request_uuid = uuid.uuid4()
http.WebRequest.__init__ = new_init