Selaa lähdekoodia

fix: Add Form Dict information only for frappe.log

version-14
Gavin D'souza 5 vuotta sitten
vanhempi
commit
746b540af8
4 muutettua tiedostoa jossa 19 lisäystä ja 24 poistoa
  1. +1
    -1
      frappe/__init__.py
  2. +10
    -1
      frappe/app.py
  3. +1
    -1
      frappe/utils/error.py
  4. +7
    -21
      frappe/utils/logger.py

+ 1
- 1
frappe/__init__.py Näytä tiedosto

@@ -1559,7 +1559,7 @@ def get_doctype_app(doctype):

loggers = {}
log_level = None
def logger(module=None, with_more_info=True):
def logger(module=None, with_more_info=False):
'''Returns a python logger that uses StreamHandler'''
from frappe.utils.logger import get_logger
return get_logger(module=module, with_more_info=with_more_info)


+ 10
- 1
frappe/app.py Näytä tiedosto

@@ -96,6 +96,16 @@ def application(request):
frappe.monitor.stop(response)
frappe.recorder.dump()

frappe.logger("web").info({
"site": get_site_name(request.host),
"remote_addr": request.remote_addr,
"base_url": request.base_url,
"full_path": request.full_path,
"method": request.method,
"scheme": request.scheme,
"http_status_code": response.status_code
})

frappe.destroy()

return response
@@ -186,7 +196,6 @@ def handle_exception(e):
frappe.local.login_manager.clear_cookies()

if http_status_code >= 500:
frappe.logger().error('Request Error', exc_info=True)
make_error_snapshot(e)

if return_as_message:


+ 1
- 1
frappe/utils/error.py Näytä tiedosto

@@ -21,7 +21,7 @@ def make_error_snapshot(exception):
if frappe.conf.disable_error_snapshot:
return

logger = frappe.logger(with_more_info=False)
logger = frappe.logger(with_more_info=True)

try:
error_id = '{timestamp:s}-{ip:s}-{hash:s}'.format(


+ 7
- 21
frappe/utils/logger.py Näytä tiedosto

@@ -15,17 +15,19 @@ import frappe

default_log_level = logging.DEBUG
site = getattr(frappe.local, 'site', None)
form_dict = getattr(frappe.local, 'form_dict', None)


def get_logger(module, with_more_info=True):
def get_logger(module, with_more_info=False):
global site
if module in frappe.loggers:
return frappe.loggers[module]

if not module:
module = "frappe"
with_more_info = True

logfile = module + '.log'
site = getattr(frappe.local, 'site', None)
LOG_FILENAME = os.path.join('..', 'logs', logfile)

logger = logging.getLogger(module)
@@ -54,25 +56,9 @@ def get_logger(module, with_more_info=True):
class SiteContextFilter(logging.Filter):
"""This is a filter which injects request information (if available) into the log."""
def filter(self, record):
record.msg = get_more_info_for_log() + text_type(record.msg)
return True

def get_more_info_for_log():
'''Adds Site, Form Dict into log entry'''
more_info = []

if site:
more_info.append('Site: {0}'.format(site))

form_dict = getattr(frappe.local, 'form_dict', None)
if form_dict:
more_info.append('Form Dict: {0}'.format(frappe.as_json(form_dict)))

if more_info:
# to append a \n
more_info = more_info + ['']

return '\n'.join(more_info)
if "Form Dict" not in text_type(record.msg):
record.msg = text_type(record.msg) + "\nSite: {0}\nForm Dict: {1}".format(site, getattr(frappe.local, 'form_dict', None))
return True

def set_log_level(level):
'''Use this method to set log level to something other than the default DEBUG'''


Ladataan…
Peruuta
Tallenna