/// <summary>
        /// Initializes a new instance of the <see cref="Log4NetContainer"/> class.
        /// </summary>
        /// <param name="settings">The log4net settings.</param>
        /// <exception cref="ArgumentNullException">settings</exception>
        public Log4NetContainer(ILog4NetSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            _settings = settings;
        }
        /// <summary>
        /// Adds the log4net logger to the logger factory.
        /// </summary>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="settings">The log4net settings.</param>
        /// <returns>The logger factory.</returns>
        /// <exception cref="ArgumentNullException">loggerFactory or settings</exception>
        public static ILoggerFactory AddLog4Net(this ILoggerFactory loggerFactory, ILog4NetSettings settings)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

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

            var container = new Log4NetContainer(settings);

            container.Initialize();

            loggerFactory.AddProvider(new Log4NetProvider(container));

            return(loggerFactory);
        }