write method

  1. @override
Future<void> write(
  1. LogMessage message
)
override

This function is responsible for outputting the message

It is implemented by concrete classes extending LogWriter

Implementation

@override
Future<void> write(LogMessage message) async {
  if (!shouldLog(message)) {
    return;
  }

  final color = switch (message.level) {
    LogLevel.fine => '92m',
    LogLevel.debug || LogLevel.info => '93m',
    LogLevel.warning => '31m',
    LogLevel.error => '97;41m',
  };

  print(
    '$_ansiEsc$color${message.logger.name}: [${message.level}] - ${message.message}$_ansiReset',
  );

  if (message.stackTrace != null) {
    print(message.stackTrace);
  }
}