Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions python_kafka_logging/KafkaHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@
import logging


class KafkaLoggingFilter(logging.Filter):

def filter(self, record):
# drop kafka logging to avoid infinite recursion
return not record.name.startswith('kafka'):


class KafkaLoggingHandler(logging.Handler):

def __init__(self, hosts_list, topic, timeout_secs=DEFAULT_SOCKET_TIMEOUT_SECONDS, **kwargs):
Expand All @@ -17,11 +24,9 @@ def __init__(self, hosts_list, topic, timeout_secs=DEFAULT_SOCKET_TIMEOUT_SECOND
self.producer = SimpleProducer(self.kafka_client, **kwargs)
else:
self.producer = KeyedProducer(self.kafka_client, **kwargs)
self.addFilter(KafkaLoggingFilter())

def emit(self, record):
# drop kafka logging to avoid infinite recursion
if record.name == 'kafka':
return
try:
# use default formatting
msg = self.format(record)
Expand Down