log method

Future log(
  1. String message,
  2. LogLevel level, [
  3. StackTrace? stackTrace
])

Log a message with it's StackTrace and level

Implementation

Future log(String message, LogLevel level, [StackTrace? stackTrace]) async {
  // If the level is less than the minimum level
  if (level.index < minimumLoggingLevel.index && level != LogLevel.wtf) {
    return Future.value();
  }

  if (_logFormatter != null) {
    message = _logFormatter!.format(message, StackTrace.current, level);
  }

  var futures = <Future>[];

  for (var logWriter in _logWriter) {
    var task = logWriter.writeAsync(message);
    futures.add(task);
  }

  return await Future.wait(futures);
}