Improve logging around deserialization failures.

pull/1/head
Matthew Chen 7 years ago
parent 9e2716d5a8
commit f1708c0b30

@ -230,8 +230,8 @@ NSString *const kNSUserDefaults_DatabaseExtensionVersionMap = @"kNSUserDefaults_
cannotDecodeObjectOfClassName:(NSString *)name
originalClasses:(NSArray<NSString *> *)classNames
{
DDLogError(@"%@ Could not decode object: %@", self.logTag, name);
OWSProdError([OWSAnalyticsEvents storageErrorCouldNotDecodeClass]);
OWSProdLogAndFail(@"%@ Could not decode object: %@", self.logTag, name);
OWSProdCritical([OWSAnalyticsEvents storageErrorCouldNotDecodeClass]);
return [OWSUnknownDBObject class];
}
@ -458,7 +458,8 @@ NSString *const kNSUserDefaults_DatabaseExtensionVersionMap = @"kNSUserDefaults_
return [unarchiver decodeObjectForKey:@"root"];
} @catch (NSException *exception) {
// Sync log in case we bail.
OWSProdError([OWSAnalyticsEvents storageErrorDeserialization]);
OWSProdLogAndFail(@"%@ error deserializing object: %@", self.logTag, collection);
OWSProdCritical([OWSAnalyticsEvents storageErrorDeserialization]);
@throw exception;
}
};

@ -399,7 +399,7 @@ NSString *NSStringForOWSAnalyticsSeverity(OWSAnalyticsSeverity severity)
- (BOOL)isSeverityAsync:(OWSAnalyticsSeverity)severity
{
return severity == OWSAnalyticsSeverityCritical;
return severity != OWSAnalyticsSeverityCritical;
}
#pragma mark - Logging

Loading…
Cancel
Save