Ich habe eine separate Klassenbibliothek, die eine einzelne statische Klasse enthält, wo ich die Verwendung von Log4Net einwickle. So etwas (siehe unten).Log4net lädt die Konfiguration nicht richtig
public static class Logger
{
private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
static Logger()
{
log4net.Config.XmlConfigurator.Configure();
log = log4net.LogManager.GetLogger(typeof(Logger));
log.Logger.IsEnabledFor(log4net.Core.Level.All);
}
public static void Error(object msg)
{
log.Error(msg);
}
public static void Error(object msg, Exception ex)
{
log.Error(msg, ex);
}
}
Ich habe Probleme, etwas zu protokollieren. Wenn ich in den Code Schritt, sehe ich Nachrichten auf einige der Objekte, wie das ConfigurationMessage:
{log4net: ERROR XmlConfigurator: Fehler beim Konfigurationsabschnitt ‚log4net‘ in der .config-Datei der Anwendung zu finden. Überprüfen Sie Ihre .config-Datei für die Elemente und. Die Konfiguration Abschnitt sollte wie folgt aussehen:}
der AssemblyInfo.cs-für diese Klasse, ive hat dieses
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Also, es scheint, kann es nicht diese Datei finden? Die Assembly wird von einer ASP.Net MVC-Webanwendung verwendet. Wenn sie kompiliert wird, wird die log4net.config-Datei in den Ordner/bin kopiert, also ist sie dort, aber kann sie nicht gefunden werden?
In einem Web-App, sieht es in dem Root-Verzeichnis, nicht das ist. – dbugger