2.0 KiB
name, group, category, update-time, description, key-word
| name | group | category | update-time | description | key-word | ||||
|---|---|---|---|---|---|---|---|---|---|
| parse-and-build-application-async-logger | api | facade | 20260520 | Parse JSON async build config text and build the application-facing async logger facade. |
|
Parse-and-build-application-async-logger
Parse raw JSON async build config text and build an ApplicationAsyncLogger in one step. This facade is the application-oriented counterpart to parse_async_logger_build_config_text(...) plus build_application_async_logger(...).
Interface
pub fn parse_and_build_application_async_logger(
input : String,
) -> ApplicationAsyncLogger raise {
input
input : String- Raw JSON async logger build config text.
output
ApplicationAsyncLogger- Application-facing async runtime logger.
Explanation
Detailed rules explaining key parameters and behaviors
- This API parses async build config text first, then builds the async application facade.
- Both the embedded sync logger config and async queue/runtime config are validated by the parser layer.
- The returned logger keeps the normal async lifecycle and state helpers.
How to Use
Here are some specific examples provided.
When Need App Async Boot Directly From JSON
When async config is sourced as text and should become a running-capable facade immediately:
let logger = parse_and_build_application_async_logger(
"{\"logger\":{\"target\":\"app.async\",\"sink\":{\"kind\":\"console\"}},\"async_config\":{\"max_pending\":4,\"overflow\":\"DropNewest\",\"max_batch\":1,\"linger_ms\":0,\"flush\":\"Never\"}}",
)
In this example, text parsing and async logger construction happen in one facade call.
Error Case
e.g.:
-
If the JSON text is malformed, parsing raises an error.
-
If the embedded config is invalid, parsing raises before the async facade is returned.
Notes
-
Use this facade when application boot starts from JSON text.
-
Use
build_application_async_logger(...)when config is already typed asAsyncLoggerBuildConfig.