📝 clarify async config docs

This commit is contained in:
Nanaloveyuki
2026-06-14 00:32:05 +08:00
parent f19e9649af
commit 7207c07cbf
5 changed files with 60 additions and 16 deletions
+11 -2
View File
@@ -2,8 +2,8 @@
name: async-logger-config-to-json
group: api
category: async
update-time: 20260512
description: Convert AsyncLoggerConfig into a JSON value for export, persistence, or generated async config output.
update-time: 20260614
description: Convert AsyncLoggerConfig into a JSON value for export, persistence, or generated async config output using the stable serialized policy labels.
key-word:
- async
- config
@@ -36,6 +36,7 @@ Detailed rules explaining key parameters and behaviors
- The output includes `max_pending`, `max_batch`, `linger_ms`, `overflow`, and `flush`.
- Policy fields are serialized using the stable labels accepted by the config parser.
- This helper exports effective typed config after constructor normalization has already happened.
- If `max_pending` is negative in the config object, the exported JSON preserves that negative value because runtime queue clamping happens later, not during serialization.
- The JSON shape matches the `async_config` section used by async build config parsing.
### How to Use
@@ -67,5 +68,13 @@ In this example, the exported JSON stays aligned with parser expectations.
e.g.:
- If `max_batch` or `linger_ms` were normalized during construction, the exported JSON reflects the normalized values rather than the original invalid inputs.
- If callers need to understand runtime queue behavior for negative `max_pending`, they should document that separately because serialization preserves the config value rather than the later queue-kind clamp.
- If callers want direct text output instead of a JSON value, they should use `stringify_async_logger_config(...)` instead.
### Notes
1. Serialized policy labels round-trip through `parse_async_logger_config_text(...)`.
2. The serializer emits canonical labels like `DropNewest` and `Never`, even though the parser also accepts compatibility aliases such as `DropLatest` and `None`.