33from io import StringIO
44import confluent_kafka
55import confluent_kafka .avro
6+ import confluent_kafka .admin
67import logging
78
89
@@ -17,6 +18,16 @@ def filter(self, record):
1718 print (record )
1819
1920
21+ def _setup_string_buffer_logger (name ):
22+ stringBuffer = StringIO ()
23+ logger = logging .getLogger (name )
24+ logger .setLevel (logging .DEBUG )
25+ handler = logging .StreamHandler (stringBuffer )
26+ handler .setFormatter (logging .Formatter ('%(name)s Logger | %(message)s' ))
27+ logger .addHandler (handler )
28+ return stringBuffer , logger
29+
30+
2031def test_logging_consumer ():
2132 """ Tests that logging works """
2233
@@ -120,12 +131,7 @@ def test_logging_constructor():
120131def test_producer_logger_logging_in_given_format ():
121132 """Test that asserts that logging is working by matching part of the log message"""
122133
123- stringBuffer = StringIO ()
124- logger = logging .getLogger ('Producer' )
125- logger .setLevel (logging .DEBUG )
126- handler = logging .StreamHandler (stringBuffer )
127- handler .setFormatter (logging .Formatter ('%(name)s Logger | %(message)s' ))
128- logger .addHandler (handler )
134+ stringBuffer , logger = _setup_string_buffer_logger ('Producer' )
129135
130136 p = confluent_kafka .Producer (
131137 {"bootstrap.servers" : "test" , "logger" : logger , "debug" : "msg" })
@@ -142,12 +148,7 @@ def test_producer_logger_logging_in_given_format():
142148def test_consumer_logger_logging_in_given_format ():
143149 """Test that asserts that logging is working by matching part of the log message"""
144150
145- stringBuffer = StringIO ()
146- logger = logging .getLogger ('Consumer' )
147- logger .setLevel (logging .DEBUG )
148- handler = logging .StreamHandler (stringBuffer )
149- handler .setFormatter (logging .Formatter ('%(name)s Logger | %(message)s' ))
150- logger .addHandler (handler )
151+ stringBuffer , logger = _setup_string_buffer_logger ('Consumer' )
151152
152153 c = confluent_kafka .Consumer (
153154 {"bootstrap.servers" : "test" , "group.id" : "test" , "logger" : logger , "debug" : "msg" })
@@ -158,3 +159,33 @@ def test_consumer_logger_logging_in_given_format():
158159 c .close ()
159160
160161 assert "Consumer Logger | INIT" in logMessage
162+
163+
164+ def test_admin_logger_logging_in_given_format_when_provided_in_conf ():
165+ """Test that asserts that logging is working by matching part of the log message"""
166+
167+ stringBuffer , logger = _setup_string_buffer_logger ('Admin' )
168+
169+ admin_client = confluent_kafka .admin .AdminClient (
170+ {"bootstrap.servers" : "test" , "logger" : logger , "debug" : "admin" })
171+ admin_client .poll (0 )
172+
173+ logMessage = stringBuffer .getvalue ().strip ()
174+ stringBuffer .close ()
175+
176+ assert "Admin Logger | INIT" in logMessage
177+
178+
179+ def test_admin_logger_logging_in_given_format_when_provided_as_admin_client_argument ():
180+ """Test that asserts that logging is working by matching part of the log message"""
181+
182+ stringBuffer , logger = _setup_string_buffer_logger ('Admin' )
183+
184+ admin_client = confluent_kafka .admin .AdminClient (
185+ {"bootstrap.servers" : "test" , "debug" : "admin" }, logger = logger )
186+ admin_client .poll (0 )
187+
188+ logMessage = stringBuffer .getvalue ().strip ()
189+ stringBuffer .close ()
190+
191+ assert "Admin Logger | INIT" in logMessage
0 commit comments