format method

  1. @override
String format(
  1. LogEntry entry
)
override

Format a log entry into a string

Implementation

@override
String format(LogEntry entry) {
  final data = <String, dynamic>{
    'timestamp': entry.timestamp.toIso8601String(),
    'level': entry.level.name,
    'message': entry.message,
  };

  if (entry.loggerName != null) {
    data['logger'] = entry.loggerName;
  }

  if (entry.tag != null) {
    data['tag'] = entry.tag;
  }

  if (entry.error != null) {
    data['error'] = entry.error.toString();
  }

  if (entry.stackTrace != null) {
    data['stackTrace'] = entry.stackTrace.toString();
  }

  if (includeContext && entry.context.isNotEmpty) {
    data['context'] = entry.context;
  }

  if (prettyPrint) {
    const encoder = JsonEncoder.withIndent('  ');
    return encoder.convert(data);
  } else {
    return jsonEncode(data);
  }
}