Inicialize o log4Net o mais cedo possível com o NUnit

Gostaria de saber qual é a melhor maneira de inicializar o log4Net em um projeto NUnit. Claro que quero chamar o código init (por exemplo,XmlConfigurator.Configure()) assim que possível, para obter o máximo de saída de log possível. Mas como meu projeto é executado através do NUnit, tenho pouco controle sobre seu ponto de entrad

De acordo com a documentação do NUnit, ele deve chamar primeiro alguns construtores, depois um método marcado com o[SetUp] em uma classe marcada com[TestFixtureSetup].

ntão, primeiro, criei uma classe auxiliar estática que posso chamar várias vezes sem problema

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

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

      _loggerIsUp = true;
    }
  }

Então, eu fiz todos os meus[TestFixtureSetup] herdar um único que não faz nada além de chamarLoggingFacility.initLogger(). Mas isso ainda deixa todos os construtores executados anteriormente, em uma ordem que só posso assumir aleatoriamente. Além disso, provavelmente fará algumas inicializações estáticas antes que eu seja capaz de executar algum códig

De fato, como posso ver no meu log, os primeiros 4 segundos de execução são completamente não registrado

Isso significa que terei que ligar para meuInitLogger() em todo construtor e proíbe o uso de qualquer inicializador estático? Que trabalho duro!

lguém sabe um truque de mágica com iss

questionAnswers(4)

yourAnswerToTheQuestion