LogMessage.fromJson constructor

LogMessage.fromJson(
  1. Map<String, Object?> json
)

Restore LogMessage from Map<String, Object?>

Implementation

factory LogMessage.fromJson(Map<String, Object?> json) {
  final <String, Object?>{
    'date': jsonDate,
    'message': jsonMessage,
    'level': jsonLevel,
  } = json;
  final jsonStackTrace = json['stack_trace'];
  final date = jsonDate is int
      ? DateTime.fromMicrosecondsSinceEpoch(jsonDate)
      : DateTime.now();
  return jsonStackTrace == null
      ? LogMessage(
          message: jsonMessage.toString(),
          level: LogLevel.fromValue(jsonLevel),
          date: date,
        )
      : LogMessageWithStackTrace(
          message: jsonMessage.toString(),
          level: LogLevel.fromValue(jsonLevel),
          date: date,
          stackTrace: StackTrace.fromString(jsonStackTrace.toString()),
        );
}