sql >> Databáze >  >> RDS >> Sqlserver

Log4Net funguje na Dev stroji, selže při nasazení na sdílený hostitel (pomocí stejné db/connstring)

Podle mých zkušeností log4net obvykle spolkne jakékoli vnitřní chyby, což jednoduše vede k výpisům protokolu, které nepřinášejí žádné výsledky.

Možná budete chtít zkusit povolit interní protokolování log4net. Můžete to udělat přidáním následujícího do appSettings sekce:

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

Tím se nastaví vlastnost LogLog.InternalDebugging true . log4net se nyní bude přihlašovat ke standardnímu výstupnímu a chybovému proudu a ke nakonfigurovaným posluchačům trasování.

Můžete použít následující konfiguraci pro zachycení všech zpráv přihlášených ke sledování:

<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>

Všechny zprávy zaznamenané interně log4net se objeví v TextWriterOutput.log . Pokud získáte SecurityException když do své konfigurace přidáte posluchač trasování, pak velmi pravděpodobně identita fondu aplikací nemá dostatečná práva k vytvoření souboru v zadaném umístění (v příkladu:c:\ ). Zkuste jiné umístění nebo dejte identitě apppoolu dostatečná práva.



  1. Seskupit řádky na základě hodnoty součtu sloupců

  2. Kopírovat řádek a všechny jeho 'děti'

  3. MySQL – Jak generovat náhodné číslo

  4. Jak Zend DB spravuje databázová připojení