@@ -966,11 +966,11 @@ def check_token():
966966 base_url = self .advanced .generate_base_url (self .token )
967967 headers = {'User-Agent' : f'logfire/{ VERSION } ' , 'Authorization' : self .token }
968968 session = OTLPExporterHttpSession ()
969- session .headers .update (headers )
970969 span_exporter = BodySizeCheckingOTLPSpanExporter (
971970 endpoint = urljoin (base_url , '/v1/traces' ),
972971 session = session ,
973972 compression = Compression .Gzip ,
973+ headers = headers ,
974974 )
975975 span_exporter = QuietSpanExporter (span_exporter )
976976 span_exporter = RetryFewerSpansSpanExporter (span_exporter )
@@ -1006,6 +1006,7 @@ def check_token():
10061006 log_exporter = OTLPLogExporter (
10071007 endpoint = urljoin (base_url , '/v1/logs' ),
10081008 session = session ,
1009+ headers = headers ,
10091010 compression = Compression .Gzip ,
10101011 )
10111012 log_exporter = QuietLogExporter (log_exporter )
@@ -1017,6 +1018,11 @@ def check_token():
10171018 logfire_log_processor = BatchLogRecordProcessor (log_exporter )
10181019 log_record_processors .append (logfire_log_processor )
10191020
1021+ # Forgetting to include `headers=headers` in all exporters previously allowed
1022+ # env vars like OTEL_EXPORTER_OTLP_HEADERS to override ours since one session is shared.
1023+ # This line is just to make sure.
1024+ session .headers .update (headers )
1025+
10201026 if processors_with_pending_spans :
10211027 pending_multiprocessor = SynchronousMultiSpanProcessor ()
10221028 for processor in processors_with_pending_spans :
0 commit comments