log static method

Future<void> log(
  1. String text, {
  2. bool logIf = true,
  3. String level = "DEBUG",
  4. Object? error,
  5. StackTrace? stackTrace,
})

Implementation

static Future<void> log(String text, {bool logIf = true, String level = "DEBUG", Object? error, StackTrace? stackTrace}) async {
  if(!logIf) {
    return;
  }

  var date = DateTime.now();
  var msg = "[${date.hour}:${date.minute}] [$level] $text";
  if(error != null) {
    msg += " ERROR [${error.toString()}]";
  }

  if(stackTrace != null) {
    msg += " STACKTRACE [${stackTrace.toString()}]";
  }

  stdout.writeln(msg);

  _fileWriter.writeln([msg]);
  await _fileWriter.flush();
}