हम विकास और उत्पादन मशीनों पर एक आंतरायिक मुद्दा देख रहे हैं जिससे हमारी लॉग फाइलें लॉग इन नहीं हो रही हैं।
विजुअल स्टूडियो का उपयोग करते हुए विकास और डिबगिंग में चलने पर हमें वीएस आउटपुट विंडो में निम्न लॉग 4नेट त्रुटि संदेश मिलते हैं:
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>
जैसा कि उल्लेख किया गया है, हम इसे मशीनों पर रुक-रुक कर देख रहे हैं, लेकिन एक बार यह समस्या बनी रहती है।