Forma correcta de cerrar una instancia de registrador en log4Net

Forma correcta de cerrar una instancia de registrador en log4Net

Esto funcionó para mí:

log.Logger.Repository.Shutdown();

o puedes tomar la ruta larga:

foreach (log4net.Appender.IAppender app in log.Logger.Repository.GetAppenders()) {
    app.Close();
}

En este caso, como no está compartiendo ningún agregador, debería poder usar el método IAppender.Close() en todos los agregadores adjuntos a su registrador (esto también hará que todos se vacíen).

Debe enviar el registrador a IAppenderAttachable y obtener el formulario de agregadores allí; esto le permitirá asegurarse de que solo llama a Close() en el nivel superior de sus appenders anidados. Esto debería hacer que descarguen y cierren a sus propios hijos en el orden correcto.

http://logging.apache.org/log4net/release/sdk/html/M_log4net_Appender_IAppender_Close.htm

¡Esto será muy peligroso si está utilizando una configuración estándar de log4net con una configuración!