From 226598b245b64077f05c5f31d6af00d1b8e40b60 Mon Sep 17 00:00:00 2001 From: AURUMVORXX Date: Mon, 21 Apr 2025 02:42:02 +0300 Subject: [PATCH] feat: Added support for custom loggers --- src/pyg2o/server.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/pyg2o/server.py b/src/pyg2o/server.py index 6f92fbc..f6e1d36 100644 --- a/src/pyg2o/server.py +++ b/src/pyg2o/server.py @@ -12,12 +12,13 @@ class PythonWebsocketServer: _current_server = None - def __init__(self, host: str, port: int, whitelist: list[str], ping_interval: int = 30, silent: bool = False): + def __init__(self, host: str, port: int, whitelist: list[str], ping_interval: int = 30, silent: bool = False, logger: logging.Logger = None): self.host: str = host self.port: int = port self.ping_interval: int = ping_interval self.whitelist = whitelist self.silent = silent + self.logger = logger if logger is not None else logging.root self.requests_list: dict[str, asyncio.Future] = dict() self._stop_event: asyncio.Event = asyncio.Event() @@ -34,7 +35,7 @@ class PythonWebsocketServer: port=self.port, ping_interval=self.ping_interval, ): - logging.info(f'[PyG2O] Server is started at ws://{self.host}:{self.port}') + self.logger.info(f'[PyG2O] Server is started at ws://{self.host}:{self.port}') PythonWebsocketServer._current_server = self asyncio.create_task(callEvent('onInit', **{})) await self._stop_event.wait() @@ -77,7 +78,7 @@ class PythonWebsocketServer: self.connected_socket = websocket self.is_connected = websocket if (not self.silent): - logging.info(f'Client connected: {websocket.remote_address}') + self.logger.info(f'Client connected: {websocket.remote_address}') asyncio.create_task(callEvent('onWebsocketConnect', **{})) @@ -116,12 +117,12 @@ class PythonWebsocketServer: except json.JSONDecodeError as e: - logging.exception(f'[PyG2O] JSON Exception: {e}') + self.logger.exception(f'[PyG2O] JSON Exception: {e}') except Exception as e: - logging.exception(f'[PyG2O] Exception: {e}') + self.logger.exception(f'[PyG2O] Exception: {e}') finally: if (not self.silent): - logging.info('Client disconnected') + self.logger.info('Client disconnected') self.is_connected = None self.connected_socket = None asyncio.create_task(callEvent('onWebsocketDisconnect', **{})) \ No newline at end of file