Kami melihat masalah terputus-putus pada mesin pengembangan dan produksi yang tidak dapat diakses oleh file log kami.
Saat menjalankan pengembangan dan debugging menggunakan Visual Studio kami mendapatkan pesan galat log4net berikut di jendela keluaran VS:
log4net:ERROR [RollingFileAppender] Unable to acquire lock on file C:\folder\file.log.
Proses tidak dapat mengakses file 'C: \ folder \ file.log' karena sedang digunakan oleh proses lain.
log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file.
Check your .config file for the <log4net> and <configSections> elements.
Bagian konfigurasi akan terlihat seperti ini:
<section
name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
Solusi kami saat ini untuk masalah ini adalah dengan mengganti nama file log terakhir. Kami tentu saja berharap ini gagal (karena kunci file yang disebutkan di atas), tetapi biasanya tidak. Sekali atau dua kali penggantian nama gagal karena kunci dari proses aspnet_wp.exe .
Bagian konfigurasi log4net kami ditunjukkan di bawah ini:
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\folder\file.log"/>
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<rollingStyle value="Date" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="100" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Header]
"/>
<footer value="[Footer]
"/>
<conversionPattern value="%date %-5level %logger ${COMPUTERNAME} %property{UserHostAddress} [%property{SessionID}] - %message%newline"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
Seperti yang disebutkan, kami melihat ini sesekali di komputer, tetapi begitu masalah terjadi, masalah tetap ada.