Otlp
provide.foundation.logger.processors.otlp
¶
OTLP processor for sending logs to OpenTelemetry endpoints.
This processor uses the generic OTLPLogClient to send logs to any OTLP-compatible backend.
Classes¶
Functions¶
create_otlp_processor
¶
Create an OTLP processor for structlog that sends logs to OpenTelemetry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
Any
|
TelemetryConfig with OTLP settings |
required |
Returns:
| Type | Description |
|---|---|
Any | None
|
Structlog processor function or None if OTLP not available/configured |
Examples:
>>> from provide.foundation.logger.config.telemetry import TelemetryConfig
>>> config = TelemetryConfig.from_env()
>>> processor = create_otlp_processor(config)
>>> if processor:
... # Add to structlog processors
... pass
Source code in provide/foundation/logger/processors/otlp.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | |
flush_otlp_logs
¶
Flush any pending OTLP logs.
Examples:
Source code in provide/foundation/logger/processors/otlp.py
reset_otlp_provider
¶
Reset the global OTLP logger provider.
This should be called when Foundation re-initializes to ensure a new LoggerProvider is created with updated configuration. The old provider is flushed before being reset to ensure no logs are lost.
This is particularly important when service_name changes, as the OpenTelemetry Resource with service_name is immutable and baked into the LoggerProvider at creation time.
Examples: