LOG_LEVEL: str = Field(default="INFO", description="Default log level (DEBUG|INFO|WARNING|ERROR|CRITICAL)")
LOG_FORMAT: str = Field(default="json", description="Log format (json|text|colored)")
ENABLE_CORRELATION_IDS: bool = Field(default=True, description="Enable request/trace correlation IDs")
CORRELATION_ID_HEADER: str = Field(default="X-Request-ID", description="Header used/provided for correlation ID")
ENABLE_USER_CONTEXT: bool = Field(default=True, description="Capture user id context in logs if available")
ENABLE_SAMPLING: bool = Field(default=False, description="Enable probabilistic sampling of DEBUG logs")
LOG_SAMPLING_RATE: float = Field(default=0.1, description="Sampling rate (0-1) for DEBUG logs")
LOG_SINKS: List[str] = Field(default_factory=lambda: ["stderr"], description="Enabled sinks (stderr,file,syslog,queue)")
LOG_FILE_PATH: str = Field(default="logs/app.log", description="File path when file sink enabled")
FILE_ROTATE: bool = Field(default=True, description="Rotate file logs (size/time based)")
LOG_ENABLE_REDACTION: bool = Field(default=True, description="Redact sensitive tokens/secrets from messages")
JSON_INDENT: int = Field(default=0, description="Indent level for JSON logs (0=compact)")
LOG_ASYNC_QUEUE: bool = Field(default=True, description="Use async queue (standard for non-blocking dispatch)")
OTEL_BRIDGE_ENABLED: bool = Field(default=False, description="Forward logs to OpenTelemetry bridge (stub)")
METRICS_BRIDGE_ENABLED: bool = Field(default=False, description="Emit metrics counters/timers for log events (stub)")
