protected virtual void SetCustomLoggingData(string key, object obj) { if (obj != null) { IPropertyChangeTracker <PropertyDefinition> propertyChangeTracker = obj as IPropertyChangeTracker <PropertyDefinition>; try { string value = (propertyChangeTracker == null) ? obj.ToString() : EntityLogger.GetLoggingDetails(propertyChangeTracker); this.SetCustomLoggingData(key, value); } catch (Exception exception) { ExWatson.SendReport(exception, ReportOptions.DoNotCollectDumps | ReportOptions.DoNotLogProcessAndThreadIds | ReportOptions.DoNotFreezeThreads, string.Empty); } } }