Update logger
This commit is contained in:
22
events.py
22
events.py
@@ -2,38 +2,38 @@ import builtins
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
|
log = logger.bind(module="EventsSystem", prefix="init")
|
||||||
|
lor_reg = log.bind(prefix="register")
|
||||||
|
lor_call = log.bind(prefix="call")
|
||||||
|
|
||||||
class EventsSystem:
|
class EventsSystem:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.log = logger.bind(module="EventsSystem", prefix="EVENTS")
|
|
||||||
self.__events = {}
|
self.__events = {}
|
||||||
logger.debug("Injected to builtins")
|
log.debug("Injected to builtins")
|
||||||
builtins.event = self
|
builtins.event = self
|
||||||
logger.debug("EventsSystem ready")
|
log.debug("EventsSystem ready")
|
||||||
|
|
||||||
def register(self, event_name, callback):
|
def register(self, event_name, callback):
|
||||||
log = self.log.bind(prefix="register")
|
lor_reg.debug(f"{event_name!r}; {callback.__name__}({callback})")
|
||||||
log.debug(f"{event_name!r}; {callback.__name__}({callback})")
|
|
||||||
if not callable(callback):
|
if not callable(callback):
|
||||||
return log.error(f"Bad event '{event_name}' - cannot registered")
|
return lor_reg.error(f"Bad event '{event_name}' - cannot registered")
|
||||||
if event_name not in self.__events:
|
if event_name not in self.__events:
|
||||||
self.__events.update({str(event_name): [callback]})
|
self.__events.update({str(event_name): [callback]})
|
||||||
else:
|
else:
|
||||||
self.__events[event_name].append(callback)
|
self.__events[event_name].append(callback)
|
||||||
|
|
||||||
def call(self, event_name, *args, **kwargs):
|
def call(self, event_name, *args, **kwargs):
|
||||||
log = self.log.bind(prefix="call")
|
|
||||||
funcs_data = []
|
funcs_data = []
|
||||||
if event_name in self.__events.keys():
|
if event_name in self.__events.keys():
|
||||||
for callback in self.__events[event_name]:
|
for callback in self.__events[event_name]:
|
||||||
log.debug(f"{event_name!r}; execute: '{callback.__name__}'; data: {args=}; {kwargs=}")
|
lor_call.debug(f"{event_name!r}; execute: '{callback.__name__}'; data: {args=}; {kwargs=}")
|
||||||
try:
|
try:
|
||||||
event_data = {"event_name": event_name, "args": args, "kwargs": kwargs}
|
event_data = {"event_name": event_name, "args": args, "kwargs": kwargs}
|
||||||
funcs_data.append(callback(event_data))
|
funcs_data.append(callback(event_data))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.error(f"Error in {callback.__name__}. See debug.log")
|
lor_call.error(f"Error in {callback.__name__}. See debug.log")
|
||||||
log.exception(e)
|
lor_call.exception(e)
|
||||||
else:
|
else:
|
||||||
log.error(f"Event '{event_name}' not found.")
|
lor_call.error(f"Event '{event_name}' not found.")
|
||||||
|
|
||||||
return funcs_data
|
return funcs_data
|
||||||
|
|||||||
Reference in New Issue
Block a user