@@ -176,9 +176,8 @@ def get_global_file_logger() -> logging.Logger | None:
176
176
if len (handlers ) == 0 :
177
177
return None
178
178
179
- # Remove any existing handlers
180
- for handler in logger .handlers :
181
- logger .removeHandler (handler )
179
+ # We are going to set our own handlers.
180
+ _remove_all_handlers (logger )
182
181
183
182
if AIRBYTE_STRUCTURED_LOGGING :
184
183
# Create a formatter and set it for the handlers
@@ -242,9 +241,8 @@ def get_global_stats_logger() -> structlog.BoundLogger:
242
241
if len (handlers ) == 0 :
243
242
return structlog .get_logger ("airbyte.stats" )
244
243
245
- # Remove any existing handlers
246
- for handler in logger .handlers :
247
- logger .removeHandler (handler )
244
+ # We are going to set our own handlers.
245
+ _remove_all_handlers (logger )
248
246
249
247
# Create a formatter and set it for the handler
250
248
formatter = logging .Formatter ("%(message)s" )
@@ -268,9 +266,8 @@ def new_passthrough_file_logger(connector_name: str) -> logging.Logger:
268
266
if len (handlers ) == 0 :
269
267
return logger
270
268
271
- # Remove any existing handlers
272
- for handler in logger .handlers :
273
- logger .removeHandler (handler )
269
+ # We are going to set our own handlers.
270
+ _remove_all_handlers (logger )
274
271
275
272
if AIRBYTE_STRUCTURED_LOGGING :
276
273
# Create a formatter and set it for the handler
@@ -425,3 +422,8 @@ def get_global_stats_log_path() -> Path | None:
425
422
return None
426
423
427
424
return folder / "airbyte-stats.log"
425
+
426
+
427
+ def _remove_all_handlers (logger : logging .Logger ) -> None :
428
+ """Remove all handlers from a logger."""
429
+ logger .handlers .clear ()
0 commit comments