Move error log handler to config object to be able to catch plugin load errors

This commit is contained in:
Tamas Kocsis 2020-09-09 18:29:24 +02:00
parent 49f8e0bc3a
commit b9c65d75ef
3 changed files with 22 additions and 15 deletions

View file

@ -14,17 +14,6 @@ from Debug import Debug
import importlib
class LogDb(logging.StreamHandler):
def __init__(self, ui_server):
self.lines = []
self.ui_server = ui_server
return super(LogDb, self).__init__()
def emit(self, record):
self.ui_server.updateWebsocket(log_event=record.levelname)
self.lines.append([time.time(), record.levelname, self.format(record)])
# Skip websocket handler if not necessary
class UiWSGIHandler(WebSocketHandler):
@ -93,10 +82,10 @@ class UiServer:
self.site_manager = SiteManager.site_manager
self.sites = SiteManager.site_manager.list()
self.log = logging.getLogger(__name__)
config.error_logger.onNewRecord = self.handleErrorLogRecord
self.logdb_errors = LogDb(ui_server=self)
self.logdb_errors.setLevel(logging.getLevelName("ERROR"))
logging.getLogger('').addHandler(self.logdb_errors)
def handleErrorLogRecord(self, record):
self.updateWebsocket(log_event=record.levelname)
# After WebUI started
def afterStarted(self):

View file

@ -1123,7 +1123,7 @@ class UiWebsocket(object):
@flag.admin
@flag.no_multiuser
def actionServerErrors(self, to):
return self.server.logdb_errors.lines
return config.error_logger.lines
@flag.admin
@flag.no_multiuser