Settings Reference
This guide documents Settings groups and fields.
core
Field |
Type |
Default |
Description |
|---|---|---|---|
|
str |
fapilog |
Logical application name |
|
Literal |
INFO |
Default log level |
|
int |
10000 |
Maximum in-memory queue size for async processing |
|
int |
None |
— |
|
int |
256 |
Maximum number of events per batch before a flush is triggered |
|
float |
0.25 |
Maximum time to wait before flushing a partial batch |
|
int |
50 |
Milliseconds to wait for queue space before dropping |
|
bool |
True |
If True, drop events after backpressure_wait_ms elapses when queue is full |
|
list |
PydanticUndefined |
Log levels protected from queue-pressure dropping. When queue is full and a protected-level event arrives, an unprotected event is evicted. Set to [] to disable priority dropping (all events treated equally). |
|
bool |
False |
Enable Prometheus-compatible metrics |
|
bool |
True |
Enable per-task bound context via logger.bind/unbind/clear |
|
dict |
PydanticUndefined |
Default bound context applied at logger creation when enabled |
|
bool |
False |
Emit DEBUG/WARN diagnostics for internal errors |
|
Literal |
stderr |
Output stream for internal diagnostics: stderr (default, Unix convention) or stdout (backward compat) |
|
float |
5.0 |
Seconds to suppress duplicate ERROR logs with the same message; 0 disables deduplication |
|
int |
1000 |
Maximum number of entries in the error deduplication dict; oldest entries are evicted when the cap is reached |
|
float |
10.0 |
Multiplier applied to error_dedupe_window_seconds to determine TTL for periodic sweep of stale dedupe entries |
|
float |
3.0 |
Maximum time to flush on shutdown signals |
|
int |
1 |
Number of worker tasks for flush processing |
|
list |
PydanticUndefined |
Optional list of dotted paths for sensitive fields policy; warning if no redactors configured |
|
bool |
True |
Enable redactors stage between enrichers and sink emission |
|
list |
PydanticUndefined |
Ordered list of redactor plugin names to apply |
|
list |
PydanticUndefined |
Sink plugins to use (by name); falls back to env-based default when empty |
|
list |
PydanticUndefined |
Enricher plugins to use (by name) |
|
list |
PydanticUndefined |
Redactor plugins to use (by name); defaults to [‘url_credentials’] for secure defaults; set to [] to disable all redaction |
|
list |
PydanticUndefined |
Processor plugins to use (by name) |
|
list |
PydanticUndefined |
Filter plugins to apply before enrichment (by name) |
|
int |
None |
6 |
|
int |
None |
5000 |
|
bool |
True |
Enable structured exception serialization for log calls |
|
int |
10 |
Maximum number of stack frames to capture for exceptions |
|
int |
20000 |
Maximum total characters for serialized stack string |
|
bool |
False |
If True, drop emission when envelope cannot be produced; otherwise fallback to best-effort serialization with diagnostics |
|
bool |
False |
Automatically install unhandled exception hooks (sys/asyncio) |
|
bool |
False |
If True, pre-serialize envelopes once during flush and pass SerializedView to sinks that support write_serialized |
|
int |
8 |
Default max size for resource pools |
|
float |
2.0 |
Default acquire timeout for pools |
|
bool |
False |
Enable circuit breaker for sink fault isolation |
|
int |
5 |
Number of consecutive failures before opening circuit |
|
float |
30.0 |
Seconds to wait before probing a failed sink |
|
str |
None |
— |
|
bool |
False |
Write to multiple sinks in parallel instead of sequentially |
|
int |
1 |
Max concurrent sink writes per worker per batch flush. Unlike sink_parallel_writes (fan-out across multiple sinks), this controls concurrency for multiple events to the same sink. |
|
Literal |
minimal |
Redaction mode for fallback stderr output: ‘inherit’ uses pipeline redactors, ‘minimal’ applies built-in sensitive field masking, ‘none’ writes unredacted (opt-in to legacy behavior) |
|
Literal |
warn |
Behavior when _apply_redactors() catches an unexpected exception: ‘open’ passes original event, ‘closed’ drops the event, ‘warn’ (default) passes event but emits diagnostic warning |
|
bool |
True |
Register atexit handler to drain pending logs on normal process exit |
|
float |
2.0 |
Maximum seconds to wait for log drain during atexit handler |
|
bool |
True |
Install signal handlers for SIGTERM/SIGINT to enable graceful drain |
|
bool |
False |
Immediately flush ERROR and CRITICAL logs (bypass batching) to reduce log loss on abrupt shutdown |
|
bool |
False |
Emit summary log events when events are dropped due to backpressure or deduplicated due to error dedupe window |
|
float |
60.0 |
Window in seconds for aggregating drop/dedupe summary events. Summaries are emitted at most once per window. |
|
bool |
True |
Apply keyword scrubbing to raw (non-JSON) fallback output; set to False for debugging when raw output is needed |
|
int |
None |
— |
|
str |
None |
— |
adaptive
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
False |
Enable adaptive pressure monitoring task |
|
float |
0.25 |
Seconds between queue pressure samples |
|
float |
2.0 |
Minimum seconds between pressure level transitions |
|
float |
0.6 |
Fill ratio to escalate NORMAL to ELEVATED |
|
float |
0.8 |
Fill ratio to escalate ELEVATED to HIGH |
|
float |
0.92 |
Fill ratio to escalate HIGH to CRITICAL |
|
bool |
True |
Enable adaptive filter tightening based on pressure level |
|
bool |
True |
Enable dynamic worker scaling based on pressure level |
|
bool |
False |
Enable adaptive batch sizing based on sink latency feedback |
|
int |
8 |
Maximum number of workers when dynamic scaling is active |
|
float |
0.2 |
Effective fill ratio boost per open sink circuit breaker |
|
float |
0.7 |
Protected queue fill ratio that activates shedding |
|
float |
0.3 |
Protected queue fill ratio that deactivates shedding |
|
float |
0.75 |
Fill ratio below which CRITICAL de-escalates to HIGH |
|
float |
0.6 |
Fill ratio below which HIGH de-escalates to ELEVATED |
|
float |
0.4 |
Fill ratio below which ELEVATED de-escalates to NORMAL |
security
Field |
Type |
Default |
Description |
|---|
security.encryption
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
True |
Enable encryption features |
|
Literal |
AES-256 |
Primary encryption algorithm |
|
Optional |
— |
Source for key material |
|
str |
None |
— |
|
str |
None |
— |
|
str |
None |
— |
|
int |
90 |
Recommended key rotation interval |
|
Literal |
1.2 |
Minimum TLS version for transport |
security.access_control
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
True |
Enable access control checks across the system |
|
Literal |
token |
Authentication mode used by integrations (library-agnostic) |
|
list |
PydanticUndefined |
List of roles granted access to protected operations |
|
bool |
True |
Require admin role for sensitive or destructive operations |
|
bool |
False |
Permit read access without authentication (discouraged) |
|
bool |
False |
Permit write access without authentication (never recommended) |
observability
Field |
Type |
Default |
Description |
|---|
observability.monitoring
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
False |
Enable health/monitoring checks and endpoints |
|
str |
None |
— |
observability.metrics
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
False |
Enable internal metrics collection/export |
|
Literal |
prometheus |
Metrics exporter to use (‘prometheus’ or ‘none’) |
|
int |
8000 |
TCP port for metrics exporter |
observability.tracing
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
False |
Enable distributed tracing features |
|
Literal |
otel |
Tracing backend provider (‘otel’ or ‘none’) |
|
float |
0.1 |
Trace sampling probability in range 0.0–1.0 |
observability.logging
Field |
Type |
Default |
Description |
|---|---|---|---|
|
Literal |
json |
Output format for logs (machine-friendly JSON or text) |
|
bool |
True |
Include correlation IDs and trace/span metadata in logs |
|
float |
1.0 |
DEPRECATED: Use core.filters=[‘sampling’] with filter_config.sampling instead. Log sampling probability in range 0.0–1.0. |
observability.alerting
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
False |
Enable emitting alerts from the logging pipeline |
|
Literal |
ERROR |
Minimum alert severity to emit (filter threshold) |
plugins
Field |
Type |
Default |
Description |
|---|---|---|---|
|
bool |
True |
Enable plugin loading |
|
bool |
False |
Allow loading plugins from entry points (security risk) |
|
list |
PydanticUndefined |
If non-empty, only these plugin names are allowed |
|
list |
PydanticUndefined |
Plugin names to block from loading |
|
str |
disabled |
Plugin validation mode: disabled, warn, or strict |