w method

  1. @override
void w(
  1. dynamic message, [
  2. dynamic error,
  3. StackTrace? stackTrace
])

Log a message at level Level.warning.

Implementation

@override
void w(message, [error, StackTrace? stackTrace]) {
  //if (level.index >= leisim.Level.warning.index && kDebugMode) {

  List<String> stackTraceLine = '${StackTrace.current}'
      .split('\n')
      .where((line) => line.length > 2)
      .map((line) => line.substring(1).replaceAll(RegExp(r'^([0-9])+'), '').trim())
      .takeWhile((line) => !line.contains('package:flutter'))
      .skip(1)
      .toList();

  // String stackTrace = stackTraceLine.isNotEmpty ? stackTraceLine[1] : '';
  String stackTrace = stackTraceLine.map((line) => '    $line').join('\n');

  _printMultiLine(yellow('\n'
      '=== WARNING ============================'
      '\n'
      '[w] $message'
      '\n'
      '    $stackTrace'
      '\n'));
  //}
}