2010-02-09 10 views
13

मैं किसी भी ऐप त्रुटि होने पर मेल भेजने के लिए log4net का उपयोग कर रहा हूं। मैंने log4net को कॉन्फ़िगर किया है लेकिन मेल recd नहीं है। बाद config है:लॉग 4नेट - smtp appender काम नहीं कर रहा

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender"> 
     <to value="[email protected]"/> 
     <from value="[email protected]"/> 
     <subject value="ERROR | MRM Application"/> 
     <smtpHost value="relaymail.sapient.com"/> 
     <bufferSize value="512"/> 
     <lossy value="true"/> 
     <evaluator type="log4net.Core.LevelEvaluator"> 
      <threshold value="ALL"/> 
     </evaluator> 
     <layout type="log4net.Layout.PatternLayout,log4net"> 
      <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline"/> 
     </layout> 
    </appender> 

है क्या कोई अन्य बदलाव किए जाने की आवश्यकता है?

+0

अपने log4net.config और कैसे के बाकी पोस्ट करें आप इसे शुरू कर रहे हैं। –

+0

क्या आप अन्य परिशिष्टों को लॉग इन कर सकते हैं? –

+0

यदि आप त्रुटियों पर ईमेल प्राप्त करना चाहते हैं तो आपको थ्रेसहोल्ड को ERROR –

उत्तर

10

जांचें कि आपको SMTP प्रमाणीकरण की आवश्यकता है या नहीं।

इसके अलावा bufferSize value = "512" का अर्थ है कि यह ईमेल भेजने से पहले 512 संदेश एकत्र करेगा। मुझे यकीन है कि आप यह नहीं चाहते हैं।

+2

मैंने इसे 1 तक संशोधित किया। अभी भी कोई मेल नहीं मिला है। क्या कोई अन्य कॉन्फ़िगरेशन है जिसे web.config – Ankit

12

यह अच्छा लग रहा है। आपके कंसोल में कुछ log4net डिबग संदेशों अपने app.config में निम्न पंक्तियां जोड़ें देखने के लिए

<appSettings> 
    <add key="log4net.Internal.Debug" value="true"/> 
    </appSettings> 

हो सकता है कि यह आप एक संकेत दे देंगे।

+2

से अलग करने की आवश्यकता है, मुझे यह आलेख उपयोगी साबित हुआ, यह अधिक विस्तार से वर्णन करता है कि यह कैसे करें: http://david.gardiner.net.au/2008/11 /log4nets-smtpappender-with-multiple.html –

+0

यदि आप इस ऐप सेटिंग को अपने वेब एप्लिकेशन में जोड़ते हैं, तो ध्यान दें कि log4net डीबग जानकारी आउटपुट करने के लिए System.Diagnostics में ट्रेसिंग इंफ्रास्ट्रक्चर का उपयोग करता है। तो आपको यह सुनिश्चित करने की ज़रूरत है कि आपके पास ट्रेसिंग सेट अप हो। टेक्स्टफाइल पर आउटपुट में ट्रेसिंग सेट करने का एक उदाहरण देखने के लिए, @AaronD से जुड़े आलेख पर एक नज़र डालें। –

4
<lossy value="false" /> 

यह मेरे लिए मदद की

5

मैं भी पता चला appender इस तरह की तरह मूल तत्व में संदर्भित किया जाना है कि:

<root> 
     <level value="INFO"/> 
     <appender-ref ref="LogFileAppender"/> 
     <appender-ref ref="ConsoleAppender"/> 
     <appender-ref ref="SmtpAppender"/>  
    </root> 
    </log4net> 
+0

यह मेरे लिए था, चीयर्स! –

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