Files
BitLogger/docs/api/parse-and-build-application-async-logger.md
Nanaloveyuki 25a6a973d2 πŸ“ Update More API Document
2026-05-20 11:37:49 +08:00

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.
application
async
parse
public

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

  1. Use this facade when application boot starts from JSON text.

  2. Use build_application_async_logger(...) when config is already typed as AsyncLoggerBuildConfig.