Esempio n. 1
0
        public static ILoggingBuilder AddKRFLogger(this ILoggingBuilder builder, IConfiguration configuration)
        {
            if (configuration == null || builder == null)
            {
                throw new Exception("Missing configuration or log builder");
            }

            KRFLogConfiguration settings = configuration.GetSection(KRFApiSettings.KRFLoggerConfig_Key).Get <KRFLogConfiguration>() ?? null;

            return(builder.AddKRFLogger(settings, configuration));
        }
Esempio n. 2
0
        public static ILoggingBuilder AddKRFLogger(this ILoggingBuilder builder, KRFLogConfiguration settings, IConfiguration configuration)
        {
            if (settings == null)
            {
                throw new Exception("Configuration is missing KRFLogger settings");
            }

            if (settings.KRFLogDestination == null || settings.KRFLogDestination.Length == 0)
            {
                throw new Exception("Configuration is missing KRFLogDestination settings on KRFLogger");
            }

            builder.ClearProviders();
            builder.AddConfiguration(configuration.GetSection(KRFApiSettings.Logging_Key));

            if (settings.KRFLogDestination.Any(ld => ld.Equals(KRFLogDestinationEnum.ToConsole)))
            {
                builder.AddConsole();
            }

            if (settings.KRFLogDestination.Any(ld => ld.Equals(KRFLogDestinationEnum.ToDebug)))
            {
                builder.AddDebug();
            }

            if (settings.KRFLogDestination.Any(ld => ld.Equals(KRFLogDestinationEnum.ToEvents)))
            {
                builder.AddEventLog();
            }

            if (settings.KRFLogDestination.Any(ld => ld.Equals(KRFLogDestinationEnum.ToEventSource)))
            {
                builder.AddEventSourceLogger();
            }

            if (settings.KRFLogDestination.Any(ld => ld.Equals(KRFLogDestinationEnum.ToFile)) && settings.KRFFileLogger != null)
            {
                builder.AddKRFLogToFileLogger(o => { o = settings.KRFFileLogger; });
            }

            if (settings.KRFLogDestination.Any(ld => ld.Equals(KRFLogDestinationEnum.ToServer)))
            {
                throw new Exception("Logging to server not implemented");
                //builder.AddKRFLogToServerLogger( loggerConfig.GetSection( KRFApiSettings.KRFServerLoggerConfig_Key ) );
            }

            return(builder);
        }