/// <summary> /// Enable destructuring of JSON.NET dynamic objects. /// </summary> /// <param name="configuration">The logger configuration to apply configuration to.</param> /// <param name="provider"></param> /// <returns>An object allowing configuration to continue.</returns> public static LoggerConfiguration NodaTimeTypes(this LoggerDestructuringConfiguration configuration, IDateTimeZoneProvider provider) { return(configuration .AsScalar <Offset>().Destructure .AsScalar <CalendarSystem>().Destructure .With(new NodaTimeDestructuringPolicy(provider))); }
/// <summary> /// Adds support for logging instances of NodaTime.CalendarSystem /// </summary> /// <remarks>Deserialisation: CalendarSystem.ForId(str)</remarks> public static LoggerConfiguration WithCalendarSystem(this LoggerDestructuringConfiguration ldc) { if (ldc == null) { throw new ArgumentNullException(nameof(ldc)); } return(ldc.AsScalar <CalendarSystem>()); }
/// <summary> /// Adds support for logging instances of NodaTime.Offset /// </summary> /// <remarks>Deserialisation: OffsetPattern.GeneralInvariant.Parse(str) or use NodaTime.Serialization.JsonNet</remarks> public static LoggerConfiguration WithOffset(this LoggerDestructuringConfiguration ldc) { if (ldc == null) { throw new ArgumentNullException(nameof(ldc)); } return(ldc.AsScalar <Offset>()); }
internal static LoggerConfiguration AsScalar(LoggerDestructuringConfiguration loggerDestructuringConfiguration, Type scalarType) { return(loggerDestructuringConfiguration.AsScalar(scalarType)); }
static LoggerConfiguration AsScalar(LoggerDestructuringConfiguration loggerDestructuringConfiguration, Type scalarType) => loggerDestructuringConfiguration.AsScalar(scalarType);
/// <summary> /// Adds support for logging instances of NodaTime.CalendarSystem /// </summary> /// <remarks>Deserialisation: CalendarSystem.ForId(str)</remarks> public static LoggerConfiguration WithCalendarSystem(this LoggerDestructuringConfiguration ldc) => ldc.AsScalar <CalendarSystem>();
/// <summary> /// Adds support for logging instances of NodaTime.Offset /// </summary> /// <remarks>Deserialisation: OffsetPattern.GeneralInvariant.Parse(str) or use NodaTime.Serialization.JsonNet</remarks> public static LoggerConfiguration WithOffset(this LoggerDestructuringConfiguration ldc) => ldc.AsScalar <Offset>();
protected override void Configure( LoggerDestructuringConfiguration configuration ) => configuration.AsScalar( ScalarType );