2.6 KiB
name, group, category, update-time, description, key-word
| name | group | category | update-time | description | key-word | ||||
|---|---|---|---|---|---|---|---|---|---|
| build-application-text-async-logger | api | facade | 20260614 | Build the application-facing text-console async logger facade from an AsyncLoggerBuildConfig using the configured text formatter directly. |
|
Build-application-text-async-logger
Build an ApplicationTextAsyncLogger from AsyncLoggerBuildConfig. This facade is the application-oriented async builder for the text-console runtime sink shape returned by build_async_text_logger(...).
Interface
pub fn build_application_text_async_logger(
config : AsyncLoggerBuildConfig,
) -> ApplicationTextAsyncLogger {
input
config : AsyncLoggerBuildConfig- Combined sync logger config and async queue/runtime config.
output
ApplicationTextAsyncLogger- Application-facing async logger backed byFormattedConsoleSink.
Explanation
Detailed rules explaining key parameters and behaviors
- This API delegates to
build_async_text_logger(...). - It is intended for config-driven async text console output where callers want the concrete text sink shape rather than the broader runtime sink enum wrapper.
- The builder always creates a
FormattedConsoleSinkfromconfig.logger.sink.text_formatterinstead of selecting among sink kinds. - Unlike
build_application_async_logger(...), this facade does not go through the full synchronous configured-logger build path first. - It uses the selected text-oriented
LoggerConfigfields directly and therefore does not applyLoggerConfig.queueor preserve sync runtime sink controls. - The returned logger keeps the usual async lifecycle helpers.
How to Use
Here are some specific examples provided.
When Need An App Async Builder With Text Sink Shape
When async output should stay on text console formatting:
let logger = build_application_text_async_logger(
AsyncLoggerBuildConfig::new(
logger=text_console(target="app.text.async"),
async_config=AsyncLoggerConfig::new(max_pending=4),
),
)
In this example, the async logger is built for text-console output specifically.
Error Case
e.g.:
-
If callers need sink-kind-driven branching such as JSON console or file-backed async output, they should use
build_application_async_logger(...)instead. -
If runtime draining is never started, records still follow the normal async queue lifecycle rules.
Notes
-
This is a narrower text-console async facade than
build_application_async_logger(...). -
It is most useful when callers want the
FormattedConsoleSink-backed async type explicitly.