2009-02-16 9 views
6

में काम करने के लिए Log4Net नहीं मिल सकता है हम अपने आईआईएस 6-तैनात डब्ल्यूसीएफ आवेदन से लॉग इन करने के लिए Log4Net का उपयोग करने की कोशिश कर रहे हैं। हम एक फ़ाइल में लॉग इन करने का प्रयास कर रहे हैं, लेकिन लॉग फाइलों को बनाने के लिए प्रतीत नहीं होता है, उन्हें अकेले लॉगिंग आउटपुट देखने दें। बाहर web.config की उचित पीस हैं:हमारे डब्ल्यूसीएफ आवेदन

<sectionGroup name="common"> 
    <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
</sectionGroup> 
... 
<common> 
    <logging> 
     <factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging"> 
      <arg key="level" value="INFO" /> 
      <arg key="showLogName" value="true" /> 
      <arg key="showDataTime" value="true" /> 
      <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" /> 
     </factoryAdapter> 
    </logging> 
</common> 

<log4net> 
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> 
     <param name="File" value="c:\logs\ApplicationInfoTest.log" /> 
     <threshold value="INFO" /> 
     <param name="AppendToFile" value="true" /> 
     <param name="DatePattern" value="ddMMyyyy" /> 
     <param name="MaxSizeRollBackups" value="10" /> 
     <param name="MaximumFileSize" value="10MB" /> 
     <param name="RollingStyle" value="Size" /> 
     <param name="StaticLogFileName" value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <param name="Header" value="\r\n\r\n---------------------------------------------\r\n" /> 
      <param name="Footer" value="\r\n---------------------------------------------\r\n\r\n" /> 
      <param name="ConversionPattern" value="%d [%t] %-5p - %m%n" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="FileAppender" /> 
    </root> 
    </log4net> 
इस विन्यास हम जानकारी स्तर लॉगिंग DebugView का उपयोग करते समय हमारे आवेदन से बाहर आ देख सकते हैं के साथ

है, लेकिन यह स्पष्ट है कि इस टुकड़ा और नहीं से है
टुकड़ा।

क्या ऐसा कुछ है जिसे हम web.config में स्थापित करने में विफल रहे हैं? क्या यह उस निर्देशिका के साथ एक अनुमति समस्या है जिसे हमने लॉग के लिए बनाए गए लॉग के लिए बनाया है?

कृपया हमारी स्पष्ट गलती बताएं।

+1

@GeorgeStocker कैसे इस डुप्लिकेट के रूप में यह 2 साल पहले था है अन्य एक? –

उत्तर

5

उपयोग ProcessMonitor from SysInternals पता लगाने के लिए जहां अनुमतियों से इनकार कर दिया जा रहा है

(संभावित आप एक डिबगर संलग्न और फँसाने अपवाद पर, बस मेरे कोड में नहीं द्वारा एक ही जानकारी निर्धारित कर सकते हैं)

आप यह सुनिश्चित करें कि कर रहे हैं जिस प्रक्रिया के अंतर्गत सेवा चल रही है, उस फ़ोल्डर पर अनुमतियां हैं जिन्हें आप लिखने की कोशिश कर रहे हैं?

+0

हाय रूबेन। इनपुट के लिए धन्यवाद। फ़ोल्डर (अभी तक, जब तक हम इसे काम नहीं करते हैं) के लिए हर किसी के लिए "पूर्ण नियंत्रण" अनुमतियां होती हैं, अनौपचारिक लॉगिन और व्यवस्थापक उपयोगकर्ता। –

+0

यदि कोई भ्रम है तो प्रक्रिया आदमी है - जो आपको दिखाएगा कि कौन सा प्रिंसिपल ऐसा करने के लिए असफल रहा है और कहां है। व्यवस्थापक उपयोगकर्ताओं को जोड़ने में मदद नहीं करेंगे। आमतौर पर डिफ़ॉल्ट ऐप पूल नेटवर्क सेवा के रूप में चलाए जाते हैं। लेकिन आप इस मामले में मछली सीखने से कहीं ज्यादा बेहतर हैं। –

+0

मैं इसे समस्या के अपने निचले भाग से लेता हूं कि आपने सामान्य लॉगिंग हो रहा है क्योंकि आपने निश्चित रूप से प्रारंभिकता को जोड़ दिया है - आपको यह सुनिश्चित करने के लिए दो एपेंडर्स कॉन्फ़िगर करना चाहिए कि यह अभी भी एक ऐसा है जो असफल हो रहा है। –

8

मुझे लॉग 4नेट काम करने के लिए इस एप्लिकेशन को मेरे एप्लिकेशन की AssemblyInfo.cs फ़ाइल में भी जोड़ना पड़ा।

// LOG 4 net config 
[assembly:log4net.Config.XmlConfigurator(Watch=true)] 
+0

निश्चित रूप से सामान्य लॉगिंग तब काम नहीं करेगी - उसने साबित कर दिया है कि कॉन्फ़िगरेशन समस्या नहीं है? –

+0

ध्यान दें कि आपको इस लाइन को प्रोजेक्ट/डीएलएल में निर्दिष्ट करना होगा जहां आप पहली बार log4net का उपयोग कर रहे हैं। इसलिए, मैं आमतौर पर कोई मौका नहीं लेता और बस इसे अपने सभी असेंबली इनफोन्स में जोड़ता हूं। – Ruben

+0

कौन सा प्रोजेक्ट आपको विशेष रूप से इस लाइन को जोड़ना है क्योंकि मेरे पास एक अलग प्रोजेक्ट में डब्ल्यूसीएफ होस्ट है और एक अलग प्रोजेक्ट है जहां मैं त्रुटि को संभालता हूं .. – chugh97

0

क्या आपके पास log4net के लिए कॉन्फ़िगरेशन अनुभाग कॉन्फ़िगर किया गया है? मैंने नहीं देखा कि आपके कोड स्निपेट

0

मैं पहली बार डब्ल्यूसीएफ सेवा को कंसोल एप्लिकेशन के रूप में चलाऊंगा - इस तरह आप एप्लिकेशन के लिए उपयोगकर्ता खाता निर्दिष्ट कर सकते हैं और देख सकते हैं कि समस्या आपकी कॉन्फ़िगरेशन के साथ है या नहीं आईआईएस के माध्यम से सेवा चलाने की अनुमति के साथ।

आप कैसे एक सांत्वना आवेदन के रूप में सेवा को चलाने के लिए http://www.jacopretorius.net/2009/08/running-windows-service-inside-console.html

2

कोशिश XmlConfigurator.Configure() पर एक नज़र डालें की अनिश्चित हैं

संबंधित मुद्दे