write method

  1. @override
void write(
  1. LogEvent event
)
override

Writes the log event

Implementation

@override
void write(LogEvent event) {
  var logLevelName = event.level.getName();
  String? message = '[${_date()}] [$logLevelName] ${event.message}${event.error != null ? '. ' : ''}';
  message = _levelColors[event.level!]!(message);
  var shouldDivide = event.error != null || event.data != null;

  var lines = <String?>[];

  if(shouldDivide) {
    lines.add('$_divider');
  }

  if(event.error != null) {
    message += _levelColors[LogLevel.Error]!(event.error.toString());
  }

  lines.add(message);

  if(event.data != null) {
    lines.add(_jsonColor('DATA:'));
    lines.add(_jsonColor('${_encoder.convert(event.data)}'));
  }

  if(event.error != null){
    if(event.stackTrace != null) {
      lines.add(_levelColors[LogLevel.Warning]!(event.stackTrace.toString()));
    }
  }

  if(shouldDivide) {
    lines.add(_divider);
  }

  _log(lines);
}