feat: seperate loggers into frappe, web, scheduler categories and not by
module
This commit is contained in:
parent
5d83e94b09
commit
c39a52d764
5 changed files with 45 additions and 29 deletions
|
|
@ -1562,7 +1562,7 @@ log_level = None
|
|||
def logger(module=None, with_more_info=True):
|
||||
'''Returns a python logger that uses StreamHandler'''
|
||||
from frappe.utils.logger import get_logger
|
||||
return get_logger(module or 'default', with_more_info=with_more_info)
|
||||
return get_logger(module=module, with_more_info=with_more_info)
|
||||
|
||||
def log_error(message=None, title=_("Error")):
|
||||
'''Log error to Error Log'''
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ class ScheduledJobType(Document):
|
|||
|
||||
def log_status(self, status):
|
||||
# log file
|
||||
frappe.logger(__name__).info('Scheduled Job {0}: {1} for {2}'.format(status, self.method, frappe.local.site))
|
||||
frappe.logger("scheduler").info('Scheduled Job {0}: {1} for {2}'.format(status, self.method, frappe.local.site))
|
||||
self.update_scheduler_log(status)
|
||||
|
||||
def update_scheduler_log(self, status):
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ def make_error_snapshot(exception):
|
|||
if frappe.conf.disable_error_snapshot:
|
||||
return
|
||||
|
||||
logger = frappe.logger(__name__, with_more_info=False)
|
||||
logger = frappe.logger(with_more_info=False)
|
||||
|
||||
try:
|
||||
error_id = '{timestamp:s}-{ip:s}-{hash:s}'.format(
|
||||
|
|
|
|||
|
|
@ -15,35 +15,37 @@ import frappe
|
|||
|
||||
default_log_level = logging.DEBUG
|
||||
site = getattr(frappe.local, 'site', None)
|
||||
LOG_FILENAME = os.path.join('..', 'logs', 'frappe.log')
|
||||
form_dict = getattr(frappe.local, 'form_dict', None)
|
||||
|
||||
|
||||
def get_logger(module, with_more_info=True):
|
||||
if module in frappe.loggers:
|
||||
return frappe.loggers[module]
|
||||
|
||||
formatter = logging.Formatter('[%(levelname)s] %(asctime)s | %(pathname)s:\n%(message)s')
|
||||
if not module:
|
||||
module = "frappe"
|
||||
|
||||
logfile = module + '.log'
|
||||
LOG_FILENAME = os.path.join('..', 'logs', logfile)
|
||||
|
||||
logger = logging.getLogger(module)
|
||||
logger.setLevel(frappe.log_level or default_log_level)
|
||||
logger.propagate = False
|
||||
|
||||
formatter = logging.Formatter('%(asctime)s %(levelname)s %(name)s %(message)s')
|
||||
handler = RotatingFileHandler(LOG_FILENAME, maxBytes=100_000, backupCount=20)
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
logger.addHandler(handler)
|
||||
#
|
||||
if site:
|
||||
SITELOG_FOLDER = os.path.join(site, 'logs')
|
||||
SITELOG_FILENAME = os.path.join(SITELOG_FOLDER, 'frappe.log')
|
||||
|
||||
if not os.path.exists(SITELOG_FOLDER):
|
||||
os.mkdir(SITELOG_FOLDER)
|
||||
|
||||
handler = RotatingFileHandler(SITELOG_FILENAME, maxBytes=100_000, backupCount=20)
|
||||
handler.setFormatter(formatter)
|
||||
SITELOG_FILENAME = os.path.join(site, 'logs', logfile)
|
||||
site_handler = RotatingFileHandler(SITELOG_FILENAME, maxBytes=100_000, backupCount=20)
|
||||
site_handler.setFormatter(formatter)
|
||||
logger.addHandler(site_handler)
|
||||
|
||||
if with_more_info:
|
||||
handler.addFilter(SiteContextFilter())
|
||||
|
||||
logger = logging.getLogger(module)
|
||||
logger.setLevel(frappe.log_level or default_log_level)
|
||||
logger.addHandler(handler)
|
||||
logger.propagate = False
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
frappe.loggers[module] = logger
|
||||
|
||||
|
|
|
|||
|
|
@ -7,17 +7,24 @@ Events:
|
|||
monthly
|
||||
weekly
|
||||
"""
|
||||
# imports - compatibility imports
|
||||
from __future__ import print_function, unicode_literals
|
||||
|
||||
from __future__ import unicode_literals, print_function
|
||||
# imports - standard imports
|
||||
import os
|
||||
import time
|
||||
|
||||
import frappe, os, time
|
||||
# imports - third party imports
|
||||
import schedule
|
||||
from frappe.utils import now_datetime, get_datetime
|
||||
from frappe.utils import get_sites
|
||||
from frappe.installer import update_site_config
|
||||
|
||||
# imports - module imports
|
||||
import frappe
|
||||
from frappe.core.doctype.user.user import STANDARD_USERS
|
||||
from frappe.installer import update_site_config
|
||||
from frappe.utils import get_datetime, get_sites, now_datetime
|
||||
from frappe.utils.background_jobs import get_jobs
|
||||
|
||||
|
||||
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
|
||||
|
||||
def start_scheduler():
|
||||
|
|
@ -48,9 +55,16 @@ def enqueue_events_for_all_sites():
|
|||
|
||||
def enqueue_events_for_site(site):
|
||||
def log_and_raise():
|
||||
frappe.logger(__name__).error('Exception in Enqueue Events for Site {0}'.format(site) +
|
||||
'\n' + frappe.get_traceback())
|
||||
raise # pylint: disable=misplaced-bare-raise
|
||||
error_message = 'Exception in Enqueue Events for Site {0}\n{1}'.format(site, frappe.get_traceback())
|
||||
error_message = json.dumps({
|
||||
"type": "Exception",
|
||||
"event": "Enqueue Events",
|
||||
"site": site,
|
||||
"traceback": frappe.get_traceback()
|
||||
})
|
||||
|
||||
frappe.logger("scheduler").error(error_message)
|
||||
SITELOG_FILENAME = os.path.join(site or "..", 'logs', 'schedule.log')
|
||||
|
||||
try:
|
||||
frappe.init(site=site)
|
||||
|
|
@ -60,10 +74,10 @@ def enqueue_events_for_site(site):
|
|||
|
||||
enqueue_events(site=site)
|
||||
|
||||
frappe.logger(__name__).debug('Queued events for site {0}'.format(site))
|
||||
frappe.logger("scheduler").debug('Queued events for site {0}'.format(site))
|
||||
except frappe.db.OperationalError as e:
|
||||
if frappe.db.is_access_denied(e):
|
||||
frappe.logger(__name__).debug('Access denied for site {0}'.format(site))
|
||||
frappe.logger("scheduler").debug('Access denied for site {0}'.format(site))
|
||||
else:
|
||||
log_and_raise()
|
||||
except:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue