/// <summary>
        /// Setup the file log appender and attach it to a logger.
        /// </summary>
        /// <param name="logger">The logger you want to attach the file appender to.</param>
        /// <param name="config">The configuration for the appender.</param>
        /// <exception cref="System.Exception">If an exception occurs, the Event Log Appender is setup
        /// to handle output.</exception>
        private static void SetupFileLogAppender(log4netLogger logger, ILogConfig config)
        {
            string logFileName = config.GetFullLogFileName();

            try
            {
                var appender = SetupRollingFileAppender(config, logFileName, "FileLog", FileLogLayout);
                appender.AddFilter(GetNoAuditFilter());
                appender.ActivateOptions();
                logger.AddAppender(appender);
            }
            catch (Exception)
            {
                // Fallback to the event logger if we cannot setup a file logger.
                SetupEventLogAppender(logger, config);
            }
        }
        /// <summary>
        /// Setup the audit log file appender and attach it to a logger.
        /// </summary>
        /// <param name="logger">The logger you want to attach the audit log appender to.</param>
        /// <param name="config">The configuration for the appender.</param>
        private static void SetupAuditLogger(log4netLogger logger, ILogConfig config)
        {
            if (!config.IsAuditLogEnabled)
            {
                return;
            }

            string logFileName = config.GetFullLogFileName().Replace(".log", "_audit.log");

            try
            {
                var appender = SetupRollingFileAppender(config, logFileName, AuditLogAppenderName, AuditLogLayout);
                appender.AddFilter(GetAuditFilter());
                appender.AddFilter(new DenyAllFilter());
                appender.ActivateOptions();
                logger.AddAppender(appender);
            }
            catch (Exception)
            { }
        }