OtelLoggingConfig class

OpenTelemetry configuration for VooLogger.

Configure OTLP export settings for logs including endpoint, authentication, batching, and resource attributes.

Constructors

OtelLoggingConfig({bool enabled = false, String? endpoint, String? apiKey, String serviceName = 'voo-flutter-app', String serviceVersion = '1.0.0', Map<String, dynamic>? additionalAttributes, int batchSize = 50, Duration batchInterval = const Duration(seconds: 30), int maxQueueSize = 1000, Duration timeout = const Duration(seconds: 10), int maxRetries = 3, Duration retryDelay = const Duration(seconds: 1), bool prioritizeErrors = true, Map<String, String>? headers, bool debug = false, String instrumentationScopeName = 'voo-logging', String instrumentationScopeVersion = '2.0.0'})
const
OtelLoggingConfig.development({required String endpoint, String? apiKey, String serviceName = 'voo-flutter-app-dev', String serviceVersion = '1.0.0-dev'})
Create a development configuration.
factory
OtelLoggingConfig.production({required String endpoint, required String apiKey, String serviceName = 'voo-flutter-app', String serviceVersion = '1.0.0'})
Create a production-ready configuration.
factory

Properties

additionalAttributes → Map<String, dynamic>?
Additional Resource attributes.
final
apiKey → String?
API key for authentication.
final
batchInterval → Duration
Interval between automatic flushes.
final
batchSize → int
Number of logs to batch before sending.
final
debug → bool
Enable debug logging for the exporter.
final
enabled → bool
Whether OTEL export is enabled.
final
endpoint → String?
OTLP endpoint URL (e.g., 'https://otel-collector.example.com').
final
hashCode → int
The hash code for this object.
no setterinherited
headers → Map<String, String>?
Additional HTTP headers for OTLP requests.
final
instrumentationScopeName → String
Instrumentation scope name.
final
instrumentationScopeVersion → String
Instrumentation scope version.
final
isValid → bool
Check if configuration is valid for export.
no setter
maxQueueSize → int
Maximum number of logs to queue before dropping oldest.
final
maxRetries → int
Maximum retry attempts for failed exports.
final
prioritizeErrors → bool
Whether to immediately flush error/fatal logs.
final
retryDelay → Duration
Delay between retry attempts.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
serviceName → String
Service name for Resource attribute.
final
serviceVersion → String
Service version for Resource attribute.
final
timeout → Duration
HTTP timeout for OTLP requests.
final

Methods

buildResource() → TelemetryResource
Build TelemetryResource with standard OTEL attributes.
copyWith({bool? enabled, String? endpoint, String? apiKey, String? serviceName, String? serviceVersion, Map<String, dynamic>? additionalAttributes, int? batchSize, Duration? batchInterval, int? maxQueueSize, Duration? timeout, int? maxRetries, Duration? retryDelay, bool? prioritizeErrors, Map<String, String>? headers, bool? debug}) → OtelLoggingConfig
Copy with modifications.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited