Dalam pengalaman saya, log4net biasanya menelan kesalahan internal apa pun, hanya menghasilkan pernyataan log yang tidak memberikan hasil apa pun.
Yang mungkin ingin Anda coba adalah mengaktifkan logging internal log4net. Anda dapat melakukannya dengan menambahkan yang berikut ini ke appSettings
. Anda bagian:
<add key="log4net.Internal.Debug" value="true" />
Ini menetapkan properti LogLog.InternalDebugging
ke true
. log4net sekarang akan masuk ke output standar dan aliran kesalahan dan ke pendengar jejak yang dikonfigurasi.
Anda dapat menggunakan konfigurasi berikut untuk menangkap pesan apa pun yang masuk ke pelacakan:
<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>
Semua pesan yang dicatat oleh log4net secara internal akan muncul di TextWriterOutput.log
. Jika Anda mendapatkan SecurityException
ketika Anda menambahkan pendengar jejak ke konfigurasi Anda, maka sangat mungkin identitas apppool tidak memiliki hak yang memadai untuk membuat file di lokasi yang ditentukan (dalam contoh:c:\
). Coba lokasi lain atau berikan identitas apppool hak yang memadai.