write method

  1. @override
void write(
  1. LogLevel level,
  2. String message,
  3. String tag,
  4. Object? error,
  5. StackTrace? stackTrace,
)
override

Implementation

@override
void write(
  LogLevel level,
  String message,
  String tag,
  Object? error,
  StackTrace? stackTrace,
) {
  String ansiColor = '';
  String prefix = 'd';
  switch (level) {
    case LogLevel.info:
      ansiColor = '\x1B[34m';
      prefix = 'i';
      break;
    case LogLevel.warning:
      ansiColor = '\x1B[33m';
      prefix = 'w';
      break;
    case LogLevel.error:
      ansiColor = '\x1B[31m';
      prefix = 'e';
      break;
    default:
  }

  final wTag = tag.isEmpty ? defaultTag : tag;
  print('$ansiColor[$prefix/$wTag] $message\x1B[0m');

  if (error != null) {
    print('$ansiColor---Error Description---\x1B[0m');
    print(error);
  }

  if (stackTrace != null) {
    print('$ansiColor------Stack Trace------\x1B[0m');
    print(stackTrace);
  }

  if (error != null || stackTrace != null) {
    print('$ansiColor-----------------------\x1B[0m');
  }
}