2.6 KiB
name, group, category, update-time, description, key-word
| name | group | category | update-time | description | key-word | ||||
|---|---|---|---|---|---|---|---|---|---|
| logger-config | api | config | 20260512 | Build the main logger configuration object used by config-driven runtime logger assembly. |
|
Logger-config
Create a LoggerConfig value describing level, target, timestamp behavior, sink shape, and optional queue wrapping. This is the main typed configuration object consumed by build_logger(...) and async build helpers.
Interface
pub fn LoggerConfig::new(
min_level~ : Level = Level::Info,
target~ : String = "",
timestamp~ : Bool = false,
sink~ : SinkConfig = default_sink_config(),
queue~ : QueueConfig? = None,
) -> LoggerConfig {}
input
min_level : Level- Global level gate.target : String- Default target namespace.timestamp : Bool- Whether the built logger should emit timestamps.sink : SinkConfig- Configured sink shape.queue : QueueConfig?- Optional synchronous queue wrapper.
output
LoggerConfig- Main logger configuration object.
Explanation
Detailed rules explaining key parameters and behaviors
LoggerConfigis the top-level typed representation for synchronous config-driven logging.sinkdescribes the final sink shape before optional queue wrapping.queue=Nonemeans no configured synchronous queue layer.- This same type is embedded into async build config as the synchronous sink/runtime portion.
How to Use
Here are some specific examples provided.
When Build Config In Code Instead Of JSON
When application bootstrapping prefers typed config values:
let config = LoggerConfig::new(
min_level=Level::Warn,
target="svc",
timestamp=true,
sink=SinkConfig::new(kind=SinkKind::TextConsole),
)
In this example, the logger configuration is explicit and strongly typed.
When Prepare Config For A Later Builder
When config is assembled in one place and built later:
let config = LoggerConfig::new(queue=Some(QueueConfig::new(16)))
let logger = build_logger(config)
In this example, the config object becomes the handoff boundary between assembly and runtime construction.
Error Case
e.g.:
-
If
sinkdescribes a capability-limited backend shape such as native file output on a non-native target, later runtime behavior still follows backend support rules. -
If
targetis empty, the configuration is still valid.
Notes
-
This is the core typed config object for sync logger assembly.
-
Prefer this API when config is generated in code rather than parsed from text.