log4net funktioniert nur, wenn XmlConfigurator.Configure () aufgerufen wird

ich verstehe dasdiese Frage hat gewesen fragte mehrere malLeider konnte ich meine Protokollierungskonfiguration nicht zum Laufen bringen. Ich muss irgendwo einen kleinen Fehler machen.

Ich habe eine .NET 4.5 MVC 4 / EF 5-Webanwendung und versuche, die Protokollierung zum Laufen zu bringen. Die Lösung umfasst zwei Projekte, eines für die DAOs und Modellobjekte und eines für die Website. Die App.Config-Datei sieht folgendermaßen aus:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="RebuildingTogetherEntities" connectionString="stuff..."/>
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
  <log4net configSource="Log.config" />
</configuration>

Derselbe log4net-Abschnitt wurde auch in die Datei Web.Config kopiert.

Ich habe den beiden AssemblyInfo.cs-Dateien Folgendes hinzugefügt:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]

"In Ausgabeverzeichnis kopieren" ist für beide Log.Config-Dateien auf "true" gesetzt.

Die einzige Möglichkeit, die Protokollierung an die Ausgabedatei anzuhängen, besteht darin, XmlConfigurator.Configure () aufzurufen, bevor die erste Protokollierungsanweisung ausgeführt wird. Ich schätze, ich kann eine Fassade schreiben, um das zu tun, wenn ich den Logger zum ersten Mal bekomme, aber das fühlt sich einfach falsch an.

Wie kann ich den Logger initialisieren, ohne den XmlConfigurator manuell aufzurufen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage