जब मैं निम्नलिखित कोड का उपयोग आवेदन ईवेंट लॉग में लिखने के लिए, सब कुछ ठीक काम करता है:सी # में इवेंट लॉग में लिखना - क्या मुझे एप्लिकेशन लॉग पर लिखते समय EventLog.CreateEventSource का उपयोग करने की आवश्यकता है?
EventLog log = new EventLog();
log.Source = "Application";
log.WriteEntry("test message", EventLogEntryType.Error);
जब मैं कोड MSDN और सभी अन्य ब्लॉग से है कि का उपयोग करें, मैं (मैं क्योंकि अनुमान लगा रहा हूँ सुरक्षा त्रुटि मिलती है CreateEventSource इसे उठाता है)।
string sSource = "MyWebService";
string sLog = "myApplication";
string sMsg = errorMessage;
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
EventLog.WriteEntry(sSource, sMsg, EventLogEntryType.Error);
तो, क्या मुझे यह जांचने की ज़रूरत है कि स्रोत मौजूद है या नहीं, अगर मुझे आवश्यकता है तो डिफ़ॉल्ट रूप से एप्लिकेशन लॉग पर लिखना है?
EventViewer को लिखने का सही तरीका क्या है?
बढ़िया, धन्यवाद! मुझे बस पुष्टि करने की आवश्यकता है। मुझे एक अलग स्रोत/लॉग बनाने की आवश्यकता नहीं है। मैं वास्तव में एप्लिकेशन लॉग को लिखना चाहता हूं। – sarsnake
एक और सवाल: जब मैं जेनेरिक एप्लिकेशन स्रोत पर लिखता हूं, तो मुझे इवेंट व्यूअर में इसे देखते समय निम्न संदेश मिलता है: "इवेंट (0) का विवरण स्रोत (एप्लिकेशन) नहीं मिला है। स्थानीय कंप्यूटर नहीं हो सकता है रिमोट कंप्यूटर से संदेश प्रदर्शित करने के लिए आवश्यक रजिस्ट्री जानकारी या संदेश DLL फ़ाइलें हैं ".... तो मेरा कस्टम संदेश प्रदर्शित होता है। मैं सोच रहा था कि स्रोत को सेट करने के लिए यह लंबा डिफ़ॉल्ट संदेश w/o प्रदर्शित करना संभव नहीं है। – sarsnake
क्योंकि आपके मॉनिटरिंग कंप्यूटर में त्रुटि संदेश के संदर्भ नहीं हैं, दूरस्थ मशीन इवेंट लॉग को टेक्स्टबेस सीएसवी फ़ाइल में निर्यात करें और आपको रिमोट मशीन से सभी जानकारी मिलती है (अन्य लोगों द्वारा इंस्टॉल किए गए सभी ऐप्स की त्रुटियों को शामिल करना)। – user3800527