public static ILoggingBuilder AddPLogger(this ILoggingBuilder builder, PLoggerSettings settings)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton <ILoggerProvider>(new PLoggerProvider(settings)));

            return(builder);
        }
        public static ILoggerFactory AddPLogger(
            this ILoggerFactory factory,
            PLoggerSettings settings)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            factory.AddProvider(new PLoggerProvider(settings));
            return(factory);
        }
        public static ILoggerFactory AddPLogger(this ILoggerFactory factory, IConfiguration configuration)
        {
            var settings = new PLoggerSettings(configuration);

            return(factory.AddPLogger(settings));
        }