Skip to content

Commit a5ffee3

Browse files
authored
Ensure OTEL_EXPORTER_OTLP_HEADERS doesn't override logfire token (#1500)
1 parent 68ba6f3 commit a5ffee3

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

logfire/_internal/config.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)