में निर्मित .NET 4.0 विंडोज एप्लिकेशन चलाते समय लॉग 4नेट लॉग नहीं होता है मेरे पास .NET 4.0 विंडोज सर्विस एप्लिकेशन है जो log4net का उपयोग करता है।रिलीज मोड
यहां मेरी log4net कॉन्फ़िगरेशन है।
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
</layout>
</appender>
<appender name="ColorConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="Red, HighIntensity" />
</mapping>
<mapping>
<level value="FATAL" />
<foreColor value="Red, HighIntensity" />
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Blue, HighIntensity" />
</mapping>
<mapping>
<level value="INFO" />
<forecolor value="White, HighIntensity" />
</mapping>
<mapping>
<level value="DEBUG" />
<forecolor value="Green, HighIntensity" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<file value="Logs/Server.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
</layout>
<maximumFileSize value="10MB" />
<rollingStyle value="Composite" />
<staticLogFileName value="true" />
</appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ColorConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
लॉगिंग अपेक्षा के सेवा exe कि डिबग मोड में बनाया गया था का उपयोग करते समय (लॉग फ़ाइलें सही फ़ाइल पथ पर बनाए जाते हैं) शुरू होता है काम करता है, लेकिन जब यह exe बनाया उपयोग कर रहा है काम नहीं करता है रिलीज मोड में।
मैंने इस ब्लॉग पर उल्लिखित चरणों के बाद .NET 4.0 के लिए एक recompiled log4net dll का उपयोग करने का प्रयास किया है .. http://tseonet.blogspot.com/2010/07/making-log4net-run-on-net-40.html।
लेकिन, यह भी काम नहीं करता था।
किसी भी मदद की बहुत सराहना की जाती है।
आपको बहुत धन्यवाद स्टीफन। इससे मदद मिली। Log4net डीबग संदेशों को देखकर मैं देख सकता था कि रिपॉजिटरी को कॉन्फ़िगर नहीं किया जा रहा था क्योंकि log4net कॉन्फ़िगरेशन नहीं ढूंढ सका। जिस क्रम में असेंबली डीबग और रिलीज मोड में लोड की गई थी, वे अलग थे। यकीन नहीं है कि यह मुद्दा यहाँ था। – Deepu
मैं देख सकता था कि log4net प्रकार [log4net.Repository.Hierarchy.Hierarchy] का उपयोग कर डिफ़ॉल्ट भंडार [log4net-default-repository] बनाता है और फिर कॉन्फ़िगरेशन का उपयोग करके भंडार को कॉन्फ़िगर करने का प्रयास करता है यदि असेंबली विशेषता के साथ सजाया गया था [असेंबली: log4net .Config.XmlConfigurator (देखें = सच)]। रिलीज मोड में बनाए गए एप्लिकेशन के मामले में, log4net को कॉन्फ़िगरेशन नहीं मिला क्योंकि असेंबली लोड की गई इस विशेषता के साथ सजाया नहीं गया था। Assembly विशेषता फ़ाइल में इस विशेषता को जोड़ने से समस्या हल हो गई। – Deepu