private static List <IInterceptor> BuildStandardInterceptors( ILogger logger, LogTypes logTypes) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } var interceptors = new List <IInterceptor>(); if (logTypes.HasFlag(LogTypes.Tracking)) { interceptors.Add(new AsyncTrackingInterceptor().ToInterceptor()); } if (logTypes.HasFlag(LogTypes.Error)) { interceptors.Add(new AsyncErrorLoggingInterceptor(logger).ToInterceptor()); } if (logTypes.HasFlag(LogTypes.Performance)) { interceptors.Add(new AsyncPerformanceLoggingInterceptor(logger).ToInterceptor()); } if (logTypes.HasFlag(LogTypes.Diagnostic)) { interceptors.Add(new AsyncDiagnosticLoggingInterceptor(logger, FilterTheseParameters).ToInterceptor()); } if (logTypes.HasFlag(LogTypes.Invocation)) { interceptors.Add(new AsyncInvocationLoggingInterceptor(logger).ToInterceptor()); } return(interceptors); }