refactor: avoid logger <-> messages circular import

This is a preventive measure. The logger module needs LogMessage, and
messages module needs bec_logger, so as one possible fix, delay
LogMessage access in logger.
This commit is contained in:
usov_i 2023-11-10 16:46:49 +01:00 committed by usov_i
parent 298faaf140
commit ddc12ba9bc

View File

@ -7,7 +7,9 @@ from typing import TYPE_CHECKING
from loguru import logger as loguru_logger
from bec_lib import messages
# TODO: Importing bec_lib, instead of `from bec_lib.messages import LogMessage`, avoids potential
# logger <-> messages circular import. But there could be a better solution.
import bec_lib
from bec_lib.endpoints import MessageEndpoints
if TYPE_CHECKING:
@ -64,7 +66,9 @@ class BECLogger:
msg["service_name"] = self.service_name
self.producer.send(
topic=MessageEndpoints.log(),
msg=messages.LogMessage(log_type=msg["record"]["level"]["name"], content=msg).dumps(),
msg=bec_lib.messages.LogMessage(
log_type=msg["record"]["level"]["name"], content=msg
).dumps(),
)
@property