เราพบปัญหาไม่ต่อเนื่องในเครื่องพัฒนาและการผลิตโดยที่ไฟล์บันทึกของเราไม่ได้รับการบันทึก
เมื่อทำงานในการพัฒนาและการดีบักโดยใช้ Visual Studio เราได้รับข้อความแสดงข้อผิดพลาด log4net ต่อไปนี้ในหน้าต่างผลลัพธ์ VS:
log4net:ERROR [RollingFileAppender] Unable to acquire lock on file C:\folder\file.log.
กระบวนการนี้ไม่สามารถเข้าถึงไฟล์ 'C: \ folder \ file.log' ได้เนื่องจากถูกใช้โดยกระบวนการอื่น
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.
ส่วนการกำหนดค่าควรมีลักษณะดังนี้:
<section
name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
วิธีแก้ปัญหาในปัจจุบันของเราคือการเปลี่ยนชื่อไฟล์บันทึกล่าสุด แน่นอนเราคาดว่าสิ่งนี้จะล้มเหลว (เนื่องจากการล็อกไฟล์ดังกล่าวข้างต้น) แต่โดยปกติจะไม่ การเปลี่ยนชื่อครั้งหรือสองครั้งล้มเหลวเนื่องจากการล็อกจากกระบวนการaspnet_wp.exe
ส่วนการกำหนดค่า log4net ของเราแสดงไว้ด้านล่าง:
<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>
ดังที่ได้กล่าวไปแล้วเราพบสิ่งนี้เป็นระยะ ๆ บนเครื่อง แต่เมื่อปัญหาเกิดขึ้นก็ยังคงมีอยู่