/// <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)));
 }
Пример #2
0
 /// <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>());
 }
Пример #3
0
 /// <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));
 }
Пример #5
0
 static LoggerConfiguration AsScalar(LoggerDestructuringConfiguration loggerDestructuringConfiguration, Type scalarType)
 => loggerDestructuringConfiguration.AsScalar(scalarType);
Пример #6
0
 /// <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>();
Пример #7
0
 /// <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 );