Пример #1
0
        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);
        }