log<TState> method

  1. @override
void log<TState>({
  1. required LogLevel logLevel,
  2. required EventId eventId,
  3. required TState state,
  4. Object? error,
  5. required LogFormatter<TState> formatter,
})
override

Writes a log entry.

Implementation

@override
void log<TState>({
  required LogLevel logLevel,
  required EventId eventId,
  required TState state,
  Object? error,
  required LogFormatter<TState> formatter,
}) {
  if (!isEnabled(logLevel)) {
    return;
  }

  final logEntry = LogEntry<TState>(
    logLevel: logLevel,
    category: name,
    eventId: eventId,
    state: state,
    exception: error,
    formatter: formatter,
  );

  final buffer = StringBuffer();
  _formatter.write(
    logEntry: logEntry,
    scopeProvider: _scopeProvider,
    textWriter: buffer,
  );

  if (buffer.isNotEmpty) {
    stdout.writeln(buffer.toString().trimRight());
  }
}