write method
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);
}