2016-04-08 6 views
0

Ive eine log4net Implementierung zu meinem Projekt hinzugefügt, aber es ist nicht alles an allenLog4Net nicht Protokollierung Fehler

<log4net> 

    <appender name="FileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging"> 
     <file value="C:\\inetpub\\wwwroot\\Onboarding\\data\\logs\\log.{date}.txt" /> 
     <appendToFile value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" /> 
     </layout> 
     <encoding value="utf-8" /> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
     <param name="LevelMin" value="DEBUG" /> 
     <param name="LevelMax" value="FATAL" /> 
    </filter> 
    </appender> 

    </log4net> 

In meinem global.asax In meinem web.config

Anmeldung:

void Application_Start(object sender, EventArgs e) 
{ 
    log4net.Config.XmlConfigurator.Configure(); 
} 

In der Klasse (auf der Klassenebene), wo ich den Fehler

ILog log = LogManager.GetLogger(System.Reflection.MethodBase 
               .GetCurrentMethod().DeclaringType); 
protokollieren

und dann in der Methode selbst:

_logger.Log(AusSuperOnboarding.Business.Logging.Enum.Level.Fatal, 
      GetType().Name, "Exception thrown in SendMessage()", null); 
+0

Sie sind ** ** vollständig sicher Global.asax Brennen wird? ** Setzen Sie eine throw neue Ausnahme in dort ** für Test und Check (** ** nicht ** Debugger/Breakpoints verwenden) – Sharky

Antwort

1

macht das Dienstkonto Benutzer sicher, dass der Web-Site Code ausgeführt wird mit einem Schreibzugriff auf den Pfad hat: C: \ inetpub \ wwwroot \ Onboarding \ data \ logs

Wenn Sie die IIS-Website verwenden, können Sie den der Site zugeordneten Anwendungspool überprüfen und dann mit der rechten Maustaste auf den App-Pool klicken und erweiterte Einstellungen auswählen. Die Identität des App-Pools wird im Feld Identität angezeigt.

Sehen Sie sich die Eigenschaften des Protokollordner, wählen Registerkarte Sicherheit, klicken Sie auf Bearbeiten und fügen Sie die App Poolidentität Benutzer und stellen Sie sicher, dass das „Ändern“ Kontrollkästchen aktiviert ist

0

Ihre Konfiguration ist unvollständig.

Sie haben Appender definiert, aber keine Logger, um sie zu verwenden. Das bedeutet, wenn Sie einen Logger erstellen, sind ihm keine Appender zugeordnet, und somit wird keine Protokollierung durchgeführt.

ein root Element zu Ihrer Konfigurations hinzufügen: als Log4Net Loggern hierarchisch sind, werden alle Logger Sie erstellen, werden alle Appen von ihm erben:

<root> 
    <level value="ALL" /> 
    <appender-ref ref="FileAppender" /> 
<root>