/// <summary>
        /// Gets the closest level supported by Common.Logging of the given log4net level
        /// </summary>
        /// <param name="currentLevel">
        /// The current Level.
        /// </param>
        /// <returns>
        /// The <see cref="Level"/>.
        /// </returns>
        protected static Level GetClosestLevel(Level currentLevel)
        {
            if (currentLevel.Equals(Level.OFF))
            {
                return Level.OFF;
            }

            if (currentLevel.Equals(Level.ALL))
            {
                return Level.ALL;
            }

            if (currentLevel >= Level.FATAL)
            {
                return Level.FATAL;
            }

            if (currentLevel >= Level.ERROR)
            {
                return Level.ERROR;
            }

            if (currentLevel >= Level.WARN)
            {
                return Level.WARN;
            }

            if (currentLevel >= Level.INFO)
            {
                return Level.INFO;
            }

            if (currentLevel >= Level.DEBUG)
            {
                return Level.DEBUG;
            }

            if (currentLevel >= Level.TRACE)
            {
                return Level.TRACE;
            }

            return Level.ALL;
        }