from .base_logger import LoggerBase from common.config.app_settings import app_settings import json class BusinessMetricLogger(LoggerBase): def __init__(self, business_metrics: dict[str, any] = {}) -> None: extra_fields = {} if business_metrics: extra_fields.update(business_metrics) super().__init__( logger_name=app_settings.BUSINESS_METRIC_LOG, extra_fields=extra_fields, ) async def log_metrics(self, business_metrics: dict[str, any] = {}) -> None: return await super().log_event( sender_id="business_metric_manager", receiver_id="business_metric_logger", subject="metrics", event="logging", properties=business_metrics, text="business metric logged", )