From a29878cbc16e7e15097073f7021c998498c42f88 Mon Sep 17 00:00:00 2001 From: Mose Mueller Date: Tue, 11 Apr 2023 08:05:12 +0200 Subject: [PATCH] updating logging module - type hint - comments - unused imports --- .../logging/LogBroadcastMessage.py | 3 +++ .../logging/LogBroadcastMessageListener.py | 2 -- .../logging/LogBroadcastMessagePublisher.py | 20 +++++++++---------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/icon_service_base/logging/LogBroadcastMessage.py b/icon_service_base/logging/LogBroadcastMessage.py index d583292..55db797 100644 --- a/icon_service_base/logging/LogBroadcastMessage.py +++ b/icon_service_base/logging/LogBroadcastMessage.py @@ -4,6 +4,9 @@ from enum import Enum from pydantic import BaseModel, Field +# TODO: we are not using all possible severity levels from loguru here (see +# https://loguru.readthedocs.io/en/stable/api/logger.html). Either add them to this enum +# or prevent people from using the other severity levels or tell them not to use them. class LogBroadcastMessageLevel(Enum): # low level messages that help tracking down issues DEBUG = "DEBUG" diff --git a/icon_service_base/logging/LogBroadcastMessageListener.py b/icon_service_base/logging/LogBroadcastMessageListener.py index 2b57a7f..1fb6e91 100644 --- a/icon_service_base/logging/LogBroadcastMessageListener.py +++ b/icon_service_base/logging/LogBroadcastMessageListener.py @@ -2,8 +2,6 @@ from abc import abstractmethod from uuid import uuid4 from kombu import Connection, Consumer, Exchange, Message, Queue -from loguru import logger - from settings import amqp_settings diff --git a/icon_service_base/logging/LogBroadcastMessagePublisher.py b/icon_service_base/logging/LogBroadcastMessagePublisher.py index 9178080..bbefafd 100644 --- a/icon_service_base/logging/LogBroadcastMessagePublisher.py +++ b/icon_service_base/logging/LogBroadcastMessagePublisher.py @@ -1,11 +1,10 @@ from __future__ import annotations -from kombu import Connection, Exchange, Producer # type: ignore -from loguru import Record, Message - +import loguru +from kombu import Connection, Exchange, Producer from settings import amqp_settings -from .LogBroadcastMessage import LogBroadcastMessage +from .LogBroadcastMessage import LogBroadcastMessage, LogBroadcastMessageLevel class LogBroadcastMessagePublisher: @@ -19,20 +18,21 @@ class LogBroadcastMessagePublisher: bound_exchange.declare() self._producer = Producer(channel=self._channel, exchange=self._exchange) - def send_msg(self, loguru_msg: Message): - loguru_dict: Record = loguru_msg.record + def send_msg(self, loguru_msg: loguru.Message): + loguru_dict = loguru_msg.record + package = loguru_dict["name"] if loguru_dict["name"] is not None else "" icon_msg = LogBroadcastMessage( originator=self._originator, - level=loguru_dict["level"].name, + level=LogBroadcastMessageLevel(loguru_dict["level"].name), message=loguru_dict["message"], - package=loguru_dict["name"], - line_number=loguru_dict["line"], + package=package, + line_number=str(loguru_dict["line"]), function=loguru_dict["function"], timestamp=loguru_dict["time"], ) - self._producer.publish( # type: ignore + self._producer.publish( icon_msg.json(), exchange=self._exchange, expiration=amqp_settings.message_expiration_default_s,