Inicialice log4Net lo antes posible con NUnit

Me pregunto cuál es la mejor manera de inicializar log4Net en un proyecto NUnit. Por supuesto que quiero llamar al código de inicio (es decir,XmlConfigurator.Configure()) tan pronto como pueda para obtener la mayor cantidad de resultados de registro tempranos que pueda. Pero dado que mi proyecto se ejecuta a través de NUnit, tengo poco control sobre su punto de entrada.

De acuerdo con la documentación de NUnit, primero debe llamar a algunos constructores, luego un método marcado con[SetUp] atributo en una clase marcada con[TestFixtureSetup].

Así que, primero, creé una clase auxiliar estática a la que puedo llamar varias veces sin problemas.

  public static class LoggingFacility
  {
    private static bool _loggerIsUp = false;

    public static void InitLogger()
    {
      if (_loggerIsUp == false)
        XmlConfigurator.ConfigureAndWatch(f);

      _loggerIsUp = true;
    }
  }

Entonces, hice todos mis[TestFixtureSetup] hereda una sola que no hace más que llamar aLoggingFacility.initLogger(). Pero eso todavía deja a todos los constructores que se ejecutan antes, en un orden que solo puedo suponer al azar. Y además, probablemente hará algunas inicializaciones estáticas incluso antes de que pueda ejecutar algún código.

e hecho, como puedo ver en mi registro, los primeros 4 segundos más o menos de ejecución no se registran por complet

¿Significa que tendré que llamar a miInitLogger() en cada constructor y prohibir el uso de cualquier inicializador estático? ¡Ese es un trabajo duro!

Alguien sabe un truco de magia con esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta