FmtPrinter class final
A log printer that outputs logs in logfmt format.
This printer converts log records into a series of key-value pairs suitable for machine parsing and log aggregation systems like Loki, Datadog, or Fluentd.
Keys such as level, msg, time, and others are included based on the steps
defined in the LogConfig. Strings are properly escaped and quoted to comply
with the logfmt specification.
Example
final printer = FmtPrinter();
final record = LogRecord(
level: LogLevel.warning,
message: 'Disk space low',
time: DateTime.now(),
loggerName: 'SystemMonitor',
);
final output = printer.log(record);
print(output.first);
// Example output:
// level=warning msg="Disk space low" time="2025-06-23T15:00:00.000Z" logger="SystemMonitor"
- Inheritance
-
- Object
- LogPrinter
- FmtPrinter
Constructors
- FmtPrinter({LogConfig? config})
- A log printer that outputs logs in logfmt format.
Properties
Methods
-
extractStack(
StackTrace? stackTrace, List< String> excludePaths) → List<String> -
Extracts the stack trace from a LogRecord.
inherited
-
getStepValue(
LogStep step, LogRecord record) → String? -
Extracts the string representation of the given LogStep from a LogRecord.
override
-
levelColor(
LogLevel level) → AnsiColor -
Returns the color for the given log level.
inherited
-
log(
LogRecord record) → List< String> -
Formats the given LogRecord into a list of strings.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
stringify(
dynamic message) → String -
Converts a message to its string representation.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited