आपको लगता है कि वहां कहीं चीजें मिश्रित होती हैं।
आपके पास एक स्रोत है (जो आपका आवेदन है) और वह स्रोत लॉग से जुड़ा हुआ है, यह तब किया जाता है जब आप अपना स्रोत बनाते हैं, आपने इन्हें अपने कोड की शुरुआत में थोड़ा सा मिश्रित किया है, इसमें होना चाहिए तथ्य
if (!EventLog.SourceExists("My Application"))
मैंने इस बारे में मेरी मदद करने के लिए अभी एक छोटा कोड लिखा है। स्रोत जो किसी अन्य लॉग मुद्दे में पंजीकृत है, जिसका मैंने सामना किया है और मैन्युअल रूप से लॉग से स्रोतों को हटाना नहीं चाहता है। मैंने जो करने का निर्णय लिया था, यह जांचना था कि स्रोत मौजूद है या नहीं, अगर यह जांचता है कि यह सही लॉग से जुड़ा हुआ है, अगर यह स्रोत को हटा नहीं रहा है, तो अब यह अस्तित्व में नहीं है या एफ ने कभी भी लॉग ब्रांड नहीं बनाया है नया।
protected const string EventLogName = "MyLog";
private static bool CheckSourceExists(string source) {
if (EventLog.SourceExists(source)) {
EventLog evLog = new EventLog {Source = source};
if (evLog.Log != EventLogName) {
EventLog.DeleteEventSource(source);
}
}
if (!EventLog.SourceExists(source)) {
EventLog.CreateEventSource(source, EventLogName);
EventLog.WriteEntry(source, String.Format("Event Log Created '{0}'/'{1}'", EventLogName, source), EventLogEntryType.Information);
}
return EventLog.SourceExists(source);
}
public static void WriteEventToMyLog(string source, string text, EventLogEntryType type) {
if (CheckSourceExists(source)) {
EventLog.WriteEntry(source, text, type);
}
}
उम्मीद है कि यह मदद करता है :)
मेरा पीसी रिबूट करने के बाद, आवेदन पड़ता कि उम्मीद है। –
यहां तक कि मेरे प्रोग्रामेटिक रूप से स्रोतों को हटाने, लॉग और सामान के साथ मुझे अभी भी रीबूट करने की आवश्यकता है :) – PJUK
मेरी इच्छा है कि मैं इसे 10 बार ऊपर उठा सकूं ... मैंने यह जानने का प्रयास किया है कि यह मेरे स्रोत को एप्लिकेशन लॉग में क्यों लिख रहा है समय मैंने लापरवाही की चीज़ स्थापित की! – alexD