Update logger

This commit is contained in:
2025-03-18 15:46:57 +03:00
parent 781388f8d8
commit f224b9c3cb

View File

@@ -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