Skip to content

Logging

typedkafka.logging.LogContext dataclass

Structured context for Kafka log entries.

Fields that are None are omitted from log output.

Attributes:

Name Type Description
topic str | None

Topic name.

partition int | None

Partition number.

offset int | None

Message offset.

key str | None

Message key.

group_id str | None

Consumer group ID.

client_id str | None

Client identifier.

error str | None

Error description.

extra dict[str, Any]

Additional key-value pairs.

to_dict()

Return non-None fields as a dictionary.

typedkafka.logging.KafkaLogger

Structured logger for Kafka operations.

Wraps a stdlib logging.Logger and formats log entries as event key=value key=value strings. When no logger is provided, all methods are silent no-ops.

Parameters:

Name Type Description Default
logger Logger | None

A stdlib logger instance. None disables logging.

None
default_context LogContext | None

Default context merged into every log entry.

None

Examples:

>>> import logging
>>> kafka_logger = KafkaLogger(logging.getLogger("kafka"))
>>> producer = KafkaProducer(config, logger=kafka_logger)
>>> # Sends are now logged automatically

log_commit(topic=None, partition=None, offset=None, **extra)

Log an offset commit event.

Parameters:

Name Type Description Default
topic str | None

Topic name.

None
partition int | None

Partition number.

None
offset int | None

Message offset.

None
**extra Any

Additional context fields.

{}

log_error(error, topic=None, partition=None, **extra)

Log an error event.

Parameters:

Name Type Description Default
error str

Error description.

required
topic str | None

Topic name.

None
partition int | None

Partition number.

None
**extra Any

Additional context fields.

{}

log_poll(topic=None, partition=None, offset=None, **extra)

Log a consumer poll event.

Parameters:

Name Type Description Default
topic str | None

Topic name.

None
partition int | None

Partition number.

None
offset int | None

Message offset.

None
**extra Any

Additional context fields.

{}

log_rebalance(event, partitions=None, **extra)

Log a consumer rebalance event.

Parameters:

Name Type Description Default
event str

Rebalance type (assign, revoke, lost).

required
partitions list[Any] | None

Affected partitions.

None
**extra Any

Additional context fields.

{}

log_send(topic, key=None, partition=None, **extra)

Log a producer send event.

Parameters:

Name Type Description Default
topic str

Topic name.

required
key str | None

Message key.

None
partition int | None

Partition number.

None
**extra Any

Additional context fields.

{}

log_transaction(event, **extra)

Log a transaction event.

Parameters:

Name Type Description Default
event str

Transaction action (begin, commit, abort).

required
**extra Any

Additional context fields.

{}