updating logging module

- type hint
- comments
- unused imports
This commit is contained in:
Mose Mueller 2023-04-11 08:05:12 +02:00
parent 0dce315bfe
commit a29878cbc1
3 changed files with 13 additions and 12 deletions

View File

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

View File

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

View File

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