sql >> Database >  >> RDS >> Sqlserver

Log4Net werkt op Dev-machine, mislukt bij implementatie op gedeelde host (met dezelfde db/connstring)

In mijn ervaring slikt log4net gewoonlijk interne fouten in, wat eenvoudig resulteert in log-statements die geen resultaten opleveren.

Wat u misschien wilt proberen, is de interne logboekregistratie van log4net inschakelen. U kunt dit doen door het volgende toe te voegen aan uw appSettings sectie:

<add key="log4net.Internal.Debug" value="true" />

Dit stelt de eigenschap LogLog.InternalDebugging naar true . log4net logt nu in op de standaard output en error streams en op geconfigureerde trace listeners.

U kunt de volgende configuratie gebruiken om berichten vast te leggen die zijn vastgelegd voor tracering:

<system.diagnostics>
  <trace autoflush="false" indentsize="4">
    <listeners>
      <add name="myListener"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="c:\TextWriterOutput.log" />
      <remove name="Default" />
    </listeners>
  </trace>
</system.diagnostics>

Alle berichten die intern door log4net worden gelogd, verschijnen in TextWriterOutput.log . Als u een SecurityException . krijgt wanneer u de trace-listener aan uw configuratie toevoegt, heeft de apppool-identiteit hoogstwaarschijnlijk niet voldoende rechten om een ​​bestand op de opgegeven locatie te maken (in het voorbeeld:c:\ ). Probeer een andere locatie of geef de apppool-identiteit voldoende rechten.



  1. Asynchrone triggers in SQL Server 2005/2008

  2. Een belangrijke wijziging in Extended Events in SQL Server 2012

  3. Kan een externe sleutel nul zijn?

  4. MariaDB Cluster 10.5 implementeren voor hoge beschikbaarheid