4.0 KiB
name, group, category, update-time, description, key-word
| name | group | category | update-time | description | key-word | ||||
|---|---|---|---|---|---|---|---|---|---|
| text-formatter-config-new | api | config | 20260613 | Construct a TextFormatterConfig value for config-driven text formatting. |
|
Text-formatter-config-new
Construct a TextFormatterConfig value for config-driven text formatting. This constructor stores text formatting options as serializable data that can later be converted into a runtime TextFormatter.
Interface
pub fn TextFormatterConfig::new(
show_timestamp~ : Bool = true,
show_level~ : Bool = true,
show_target~ : Bool = true,
show_fields~ : Bool = true,
separator~ : String = " ",
field_separator~ : String = " ",
template~ : String = "",
color_mode~ : ColorMode = ColorMode::Never,
color_support~ : ColorSupport = ColorSupport::TrueColor,
style_markup~ : StyleMarkupMode = StyleMarkupMode::Full,
target_style_markup~ : StyleMarkupMode = StyleMarkupMode::Disabled,
fields_style_markup~ : StyleMarkupMode = StyleMarkupMode::Disabled,
style_tags~ : Map[String, TextStyle] = {},
) -> TextFormatterConfig {
input
show_timestamp : Bool- Whether formatted text should include timestamps.show_level : Bool- Whether formatted text should include the record level.show_target : Bool- Whether formatted text should include the record target.show_fields : Bool- Whether formatted text should include structured fields.separator : String- Separator used between the main rendered parts.field_separator : String- Separator used between rendered fields.template : String- Optional text template used by the runtime formatter.color_mode : ColorMode- Color-emission policy for the runtime formatter.color_support : ColorSupport- Color capability level used when color is enabled.style_markup : StyleMarkupMode- Markup handling for the main formatted output.target_style_markup : StyleMarkupMode- Markup handling for the rendered target field.fields_style_markup : StyleMarkupMode- Markup handling for rendered field values.style_tags : Map[String, TextStyle]- Local tag definitions stored as plain config data.
output
TextFormatterConfig- Config object that can later be serialized or converted to a runtime formatter.
Explanation
Detailed rules explaining key parameters and behaviors
- The constructor stores the supplied formatting options directly as config data.
- Default values match the normal config-oriented text formatting defaults, including
color_mode=ColorMode::Neverand markup settings for full main-output markup with disabled target and field markup. style_tagsare stored as concreteTextStylevalues instead of a runtime registry.- This constructor is the main typed entry point for formatter config used by
SinkConfig,LoggerConfig, and JSON parse/stringify workflows.
How to Use
Here are some specific examples provided.
When Need Config-built Text Output
When text formatting should be configured rather than hard-coded:
let formatter = TextFormatterConfig::new(
show_timestamp=false,
template="[{level}] {message}",
color_mode=ColorMode::Always,
)
In this example, formatter settings are stored as config rather than a runtime-only formatter.
When Embed Formatter Config In Sink Config
When a text-rendering policy should be part of a larger sink definition:
let sink = SinkConfig::new(
kind=SinkKind::TextConsole,
text_formatter=TextFormatterConfig::new(show_target=false),
)
In this example, formatter config becomes one field in a broader sink configuration object.
Error Case
e.g.:
-
If
templateis empty, later runtime formatting falls back to the normal part-assembly path. -
If
style_tagsis empty, no local formatter tag registry is created when converting to a runtime formatter.
Notes
-
Prefer this constructor when formatter behavior must be stored, parsed, or serialized.
-
Prefer
text_formatter(...)when writing direct runtime code without config objects.