Skip to content

json format before send to sink #1351

@RedheatWei

Description

@RedheatWei

loguru config

if logger_config_data.get("kafka") and logger_config_data["kafka"]["enable"]:
    logger.debug("kafka handler enabled")
    kafka_handler = KafkaLoggingHandler(kafka_brokers=logger_config_data["kafka"]["broker"],
                            topic=logger_config_data["kafka"]["topic"])
    logger.add(
        kafka_handler.commit,
        format=Logger.kafka_format(app_name=APP_NAME, env=config_info.get_env()),
        level=logger_config_data["kafka"]["level"].upper(),
        backtrace=True,
        diagnose=True,
        serialize=True
    )

format

    @staticmethod
    def get_format_dict(app_name, env):
        return {
            "time": "{time}",
            "component": app_name,
            "env": env,
            "level": "{level.name}",
            "location": "{name}:{line}",
            "msg": "{message}",
        }

    @staticmethod
    def console_format(app_name, env):
        return " ".join(Logger.get_format_dict(app_name, env).values())

    @staticmethod
    def kafka_format(app_name, env):
        return json.dumps(Logger.get_format_dict(app_name, env))

so kafka_format return this
{"time": "{time}", "component": "xxx", "env": "local", "level": "{level.name}", "location": "{name}:{line}", "msg": "{message}"}
error

--- Logging error in Loguru Handler #2 ---
  File "xxxxxxxx/.venv/lib/python3.13/site-packages/loguru/_handler.py", line 180, in emit
    formatted = precomputed_format.format_map(formatter_record)
KeyError: '"time"'
--- End of logging error ---

kafka_handler just a normal object and not a logging handler object. so why for this ?
thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions