2012-01-07 11 views
29

मैं पहली बार एनएलओजी का उपयोग कर रहा हूं, मुझे पता चला कि टेक्स्ट फ़ाइल को कैसे लिखना है, लेकिन अब मैं खुद को एक ईमेल भेजना चाहता हूं। यह धारणा बना रहा हूं कि जब आप एनएलओजी को एसएमटीपी प्रमाण-पत्र प्रदान करते हैं। असेंबली System.Net.Mail नेमस्पेस को कॉल करता है और एक ईमेल भेजता हैडल करता है। यदि यह गलत है तो कृपया मुझे बताएं। और यदि आपने यह ईमेल किया है तो मैं आपको ईमेल भेजने के लिए जो कुछ भी लेता हूं, उसके बारे में किसी भी जानकारी की सराहना करता हूं।मैं एनएलओजी के साथ लॉग इन त्रुटियों को कैसे ईमेल करूं?

नीचे मेरी कॉन्फ़िगरेशन है।

<?xml version="1.0" encoding="utf-8" ?> 
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > 
    <targets> 
    <!--<target name="logfile" xsi:type="File" fileName="C:\Users\keithb\Desktop\TestLog.txt" />--> 
    <target name="Mail" xsi:type="Mail" html="true" subject="Error Received" body="${message}"   
     to="[email protected]" 
     from="[email protected]" 
     Encoding="UTF8" 
     smtpUsername="[email protected]" 
     enableSsl="False" 
     smtpPassword="pa$$word" 
     smtpAuthentication="Basic" 
     smtpServer="mail.someemail.com" 
     smtpPort="25" /> 
    </targets> 
    <rules> 
    <!--<logger name="*" minlevel="Debug" writeTo="logfile" />--> 
    <logger name="*" level="Error" writeTo="Mail" /> 
    <logger name="*" level="Fatal" writeTo="Mail" /> 
    </rules> 
</nlog> 

मैं इतना

Imports NLog 

Public Class HandleGetRouteInfo 
    Private Shared logger As Logger = LogManager.GetCurrentClassLogger() 

    Public Shared Function GetRouteInfo(ByVal routeInfo As RequestGetRouteInfo) As GetRouteInfoResponse 
     'TODO: Check route ID, username, password 
     logger.Fatal("User" & routeInfo.UserName & "has entered the GetRouteInfo Method.") 
     logger.Error("User" & routeInfo.UserName & "has entered the GetRouteInfo Method.") 
     Dim str As String = logger.Name 
End Function 
End Class 

मैं इसे त्रुटि भेजने के लिए, संदेश युक्त पाने के लिए कोशिश कर रहा हूँ की तरह त्रुटि कहते हैं, और चीजों को यह आमतौर पर एक फाइल करने के लिए लॉग मेरे ईमेल पर। मुझे पता है कि अपवाद कैसे प्राप्त करें और इसे अपने आप ईमेल करें, लेकिन मैंने सोचा कि एनएलओजी में ऐसा करने की क्षमता थी। ईमेल कार्यक्षमता का उपयोग करने के मृत सरल उदाहरणों के साथ कोई भी ट्यूटोरियल काम करेगा। मुझे बहुत सारी चीजें मिलीं लेकिन काम करने के लिए इसे प्राप्त नहीं किया। यदि आपने यह किया है, तो मुझे कुछ और नमूना कोड या स्पष्टीकरण की आवश्यकता होगी जो मुझे करने की ज़रूरत है। मैं यह नहीं समझ सकता कि मैं क्या कर रहा हूं। क्या किसी के भी पास कोई सुझाव है?

उत्तर

19

UTF8 से UTF-8 पर अपना एन्कोडिंग बदलें।

मान लें कि आपकी एसएमटीपी सेटिंग्स में कोई अन्य त्रुटियां नहीं हैं (जो आम तौर पर भेजे जाने वाले संदेशों का कारण नहीं है), यह काम करना चाहिए।

+0

वह था, यूटीएफ 8 यूटीएफ -8 होने का अनुमान लगाया गया था। मुझे मिला उदाहरण मुझे गलती थी। धन्यवाद। –

2

मुझे लगता है कि आपको system.net में मेल सेटिंग्स सेट अप करने की आवश्यकता है। कुछ इस तरह:

<system.net> 
    <mailSettings> 

    <smtp from="[email protected]"> 
     <network host="server.net" userName="[email protected]" password="somepassword"/> 
    </smtp> 

    <!--Just and example of for testing. Cant have both--> 
    <smtp deliveryMethod="SpecifiedPickupDirectory" from="[email protected]"> 
     <network host="localhost"/> 
     <specifiedPickupDirectory pickupDirectoryLocation="d:\tmp\email"/> 
    </smtp> 

    </mailSettings> 
</system.net> 

पहले विकल्प एसएमटीपी सर्वर और दूसरे का उपयोग कर अपने स्थानीय फ़ोल्डर में ईमेल वितरित करने के लिए है। दूसरा विकल्प परीक्षण के लिए अच्छा है।

+0

तो मुझे ईमेल बनाने और इसे सहेजने की आवश्यकता है? मैं सिर्फ लॉगिंग क्लास क्यों नहीं लिखूंगा और ईमेल भेजने के लिए एक और कक्षा लिखूंगा। मैं पहले से ही पहले से ही नहीं किया है। कोई अपराध नहीं था, इसकी सिफारिश की गई थी इसलिए मैंने सोचा कि ईमेलिंग त्रुटियां या कोई लॉगिंग मृत सरल होगी। –

+0

मुझे उत्सुकता है कि आप लॉगिंग के लिए क्या उपयोग करते हैं, मैं बहुत से लोगों को लॉग 4 नेट और एल्मा का उपयोग करता हूं। डिबगिंग करते समय विस्तार लॉगिंग को संभालने के लिए –

+0

एल्मा सामान्य अपवाद हैंडलिंग और लॉग 4नेट के लिए। –

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

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