Vaciar el búfer Log4Net con AdoNetAppender

Estoy usando Log4Net con AdoNetAppender, y me gusta vaciar el búfer en un tiempo particular o período de tiempo.

Puede que no esté equivocado, Log4Net no proporciona esta funcionalidad y para eso tengo que crear mi propio Appender, pero no tengo idea o puedo estar confundido sobre cómo implementar esto.

Puede alguien ayudarme con esto?

Para el vaciado, se supone que debo usar el siguiente código, pero no tiene la funcionalidad de tiempo o tiempo de espera.

    public void FlushBuffers()
    {
        ILoggerRepository rep = LogManager.GetRepository();
        foreach (IAppender appender in rep.GetAppenders())
        {
            var buffered = appender as BufferingAppenderSkeleton;
            if (buffered != null)
            {
                buffered.Flush();
            }
        }
    }

EDITAR

Log4Net se implementa en el sitio web de Asp.Net, y necesito eliminar esto para tirar el sitio.

Puede ser que pueda crear Thread que ejecute el bloque de código cada 2 horas y vacíe el búfer.

Respuestas a la pregunta(1)

Su respuesta a la pregunta