/// <summary> /// Registers object Type transformation from dangerous (massive) object to safe (reduced) object /// </summary> public static ISetupSerializationBuilder RegisterObjectTransformation<T>(this ISetupSerializationBuilder setupBuilder, Func<T, object> transformer) { if (transformer == null) throw new ArgumentNullException(nameof(transformer)); var original = ConfigurationItemFactory.Default.ObjectTypeTransformer; ConfigurationItemFactory.Default.ObjectTypeTransformer = new ObjectTypeTransformation<T>(transformer, original); return setupBuilder; }
/// <summary> /// Registers object Type transformation from dangerous (massive) object to safe (reduced) object /// </summary> public static ISetupSerializationBuilder RegisterObjectTransformation <T>(this ISetupSerializationBuilder setupBuilder, Func <T, object> transformer) { if (transformer == null) { throw new ArgumentNullException(nameof(transformer)); } var original = setupBuilder.LogFactory.ServiceRepository.GetService <IObjectTypeTransformer>(); setupBuilder.LogFactory.ServiceRepository.RegisterObjectTypeTransformer(new ObjectTypeTransformation <T>(transformer, original)); return(setupBuilder); }
/// <summary> /// Overrides the active <see cref="IValueFormatter"/> with a new custom implementation /// </summary> public static ISetupSerializationBuilder RegisterValueFormatter(this ISetupSerializationBuilder setupBuilder, IValueFormatter valueFormatter) { ConfigurationItemFactory.Default.ValueFormatter = valueFormatter ?? NLog.MessageTemplates.ValueFormatter.Instance; return setupBuilder; }
/// <summary> /// Overrides the active <see cref="IJsonConverter"/> with a new custom implementation /// </summary> public static ISetupSerializationBuilder RegisterJsonConverter(this ISetupSerializationBuilder setupBuilder, IJsonConverter jsonConverter) { ConfigurationItemFactory.Default.JsonConverter = jsonConverter ?? NLog.Targets.DefaultJsonSerializer.Instance; return setupBuilder; }
/// <summary> /// Overrides the active <see cref="IValueFormatter"/> with a new custom implementation /// </summary> public static ISetupSerializationBuilder RegisterValueFormatter(this ISetupSerializationBuilder setupBuilder, IValueFormatter valueFormatter) { setupBuilder.LogFactory.ServiceRepository.RegisterValueFormatter(valueFormatter ?? new MessageTemplates.ValueFormatter(setupBuilder.LogFactory.ServiceRepository)); return(setupBuilder); }
/// <summary> /// Overrides the active <see cref="IJsonConverter"/> with a new custom implementation /// </summary> public static ISetupSerializationBuilder RegisterJsonConverter(this ISetupSerializationBuilder setupBuilder, IJsonConverter jsonConverter) { setupBuilder.LogFactory.ServiceRepository.RegisterJsonConverter(jsonConverter ?? new NLog.Targets.DefaultJsonSerializer(setupBuilder.LogFactory.ServiceRepository)); return(setupBuilder); }