Skip to content

Commit fa24211

Browse files
committed
Add Python OTel code examples
1 parent ad9e234 commit fa24211

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

articles/azure-functions/opentelemetry-howto.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,10 @@ These instructions only apply for an OTLP exporter:
231231
### [OTLP Exporter](#tab/otlp-export)
232232
233233
```text
234-
azure.monitor.opentelemetry
234+
opentelemetry-api
235+
opentelemetry-sdk
236+
opentelemetry-exporter-otlp
237+
opentelemetry-instrumentation-logging
235238
```
236239
---
237240
@@ -245,10 +248,35 @@ These instructions only apply for an OTLP exporter:
245248
```
246249
### [OTLP Exporter](#tab/otlp-export)
247250
251+
Traces, metrics, and logs being exported using OpenTelemetry must be configured manually. For more information, see [Instrumentation](https://opentelemetry.io/docs/languages/python/instrumentation/) for Python.
252+
253+
This is a simple implementaton for exporting logs:
254+
248255
```python
249-
from azure.monitor.opentelemetry import configure_azure_monitor
250-
configure_azure_monitor()
256+
logging.basicConfig(level=logging.DEBUG)
257+
258+
from opentelemetry import _logs
259+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
260+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
261+
from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
262+
263+
# Initialize logging and an exporter that can send data to an OTLP endpoint by attaching OTLP handler to root logger
264+
# SELECT * FROM Log WHERE instrumentation.provider='opentelemetry'
265+
_logs.set_logger_provider(
266+
LoggerProvider(resource=Resource.create(OTEL_RESOURCE_ATTRIBUTES))
267+
)
268+
logging.getLogger().addHandler(
269+
LoggingHandler(
270+
logger_provider=_logs.get_logger_provider().add_log_record_processor(
271+
BatchLogRecordProcessor(OTLPLogExporter())
272+
)
273+
)
274+
)
275+
251276
```
277+
278+
Review the [OpenTelemetry Logging SDK](https://opentelemetry-python.readthedocs.io/en/stable/sdk/_logs.html) to learn how to use OpenTelemetry components to collect logs.
279+
252280
---
253281
254282
::: zone-end

0 commit comments

Comments
 (0)