format method

  1. @override
void format(
  1. LogRecord record,
  2. MessageBuffer buffer
)
override

Formats record by writing to buffer.

Implementation

@override
void format(LogRecord record, MessageBuffer buffer) {
  final consoleBuffer = buffer.console!;
  final span = buildSpan(record);

  // Apply formatter's default transformers
  for (final transformer in spanTransformers) {
    transformer(span, record);
  }

  // Apply per-log transformers from formatOptions
  final perLogTransformers = record.formatOptions
      ?.whereType<SpanFormatOptions>()
      .expand((options) => options.spanTransformers);
  if (perLogTransformers != null) {
    for (final transformer in perLogTransformers) {
      transformer(span, record);
    }
  }

  // Transformers may wrap the original root in a new parent span.
  // Always render starting from the current root so wrappers (e.g. Bordered)
  // that become ancestors of the original span are included.
  renderSpan(span.root, consoleBuffer);
}