मैंने स्थानीय कंप्यूटर पर लॉग देखने के लिए System.Diagnostics.EventLog का उपयोग किया है। हालांकि, मैं एक सहेजा गया ईवेंट लॉग संग्रह (.evt या .evtx) खोलना चाहता हूं और सहेजी गई फ़ाइल में मौजूद लॉग को देखना चाहता हूं। मुझे बस फाइल में लॉग के साथ जुड़े टाइमस्टैम्प, संदेश, स्रोत इत्यादि देखने की जरूरत है। क्या यह सी # में किया जा सकता है?.NET में सहेजे गए ईवेंट लॉग संग्रह को कैसे खोलें?
उत्तर
System.Diagnostics.Eventing.Reader
नामस्थान देखें। विशेष रूप से EventLogQuery
कक्षा।
http://msdn.microsoft.com/en-us/library/bb671200(v=VS.90).aspx
Microsoft से LogParser उपकरण का प्रयास करें। यह एसक्यूएल जैसी भाषा का चयन कर किसी भी लॉग प्रारूप के लॉग से किसी भी डेटा को प्राप्त कर सकता है। इसका उपयोग किसी भी .NET अनुप्रयोग से भी किया जा सकता है। सीएसवी लॉग के उदाहरण पार्स (मेरा मानना है कि आप छोटे संशोधनों के साथ EVT फ़ाइलों के लिए इस कोड का उपयोग कर सकते हैं): आपका इरादा बचाया लॉग पढ़ने के लिए है
public IList<LogRow> GetLog()
{
return Load("SELECT *, OUT_ROW_NUMBER() FROM logfile*.log WHERE Field2='Performance' ORDER BY Field1 ASC");
}
private static IList<LogRow> Load(string sql)
{
IEnumerable<string[]> log = ParseLog(sql);
return Convert(log);
}
private static IList<LogRow> Convert(IEnumerable<string[]> log)
{
return log.Select(logRecord => new LogRow
{
TimeStamp = logRecord[2],
Category = logRecord[3],
Machine = logRecord[4],
ThreadId = logRecord[5],
ProcessId = logRecord[6],
ProcessName = logRecord[7],
DomainName = logRecord[8],
Message = logRecord[9],
Number = logRecord[10]
}).ToList();
}
private static IEnumerable<string[]> ParseLog(string query)
{
var records = new LogQueryClassClass().Execute(
query,
new COMCSVInputContextClass { headerRow = false, iTsFormat = "yyyy-MM-dd HH:mm:ss.fff" });
var entries = new List<string[]>();
while (!records.atEnd())
{
entries.Add(records.getRecord().toNativeString("CSVseparator").Split(
new[] { "CSVseparator" },
StringSplitOptions.None));
records.moveNext();
}
records.close();
return entries;
}
है, हम इसे EventLogReader उपयोग कर सकते हैं। यह मूल रूप से दो पैरामीटर लेता है - फ़ाइल नाम (फ़ाइल पथ में), और पथ पैरामीटर निर्दिष्ट करने वाला दूसरा पैरामीटर। आपके संदर्भ के लिए, मान लीजिए कि आप किसी सहेजे गए .evtx फ़ाइल है - temp.evtx, आप में के रूप में यह पढ़ सकते हैं:
new EventLogReader(filepath, PathType.Filepath);
यह आपको एक ईवेंट लॉग पाठक, जो घटनाओं को पढ़ने के लिए इस्तेमाल किया जा सकता देता है। और और भी, यदि आप इससे सामग्री को पढ़ना चाहते हैं, तो हम उन गुणों का उपयोग कर सकते हैं जो मूल रूप से स्ट्रिंग की एक सूची है। इसे पढ़ सकते हैं, इसे पार्स कर सकते हैं, और आपको जो भी जानकारी चाहिए उसे प्राप्त कर सकते हैं।
मैं मानता हूं कि हमारे पास EventLogEntry का उपयोग करने के बारे में सभी विवरण सीधे प्राप्त करने का प्रावधान नहीं है। कभी भी कम नहीं, हमें घटना रिकॉर्ड का उपयोग करने की आवश्यकता के लिए कुछ पार्सिंग करने की आवश्यकता है।
- 1. ब्राउज़र में सहेजे गए पासवर्ड ऑटोफिल को कैसे ट्रिगर करें?
- 2. सहेजे गए राज्य अपवाद
- 3. MySettings VB 2010 .NET में सहेजे गए हैं?
- 4. रेल - सहेजे गए जुड़े रिकॉर्ड्स को हटाना
- 5. संग्रह में बैकबोन रीसेट ईवेंट
- 6. सहेजे गए टूटे हुए संसाधित
- 7. कोरडाटा: एक सहेजे गए संदर्भ
- 8. सहेजे गए पारदर्शी बिटमैप के पृष्ठभूमि रंग को कैसे बदलें
- 9. गेम सहेजे गए सामग्री को कैसे प्रबंधित करते हैं?
- 10. एम्बर-डेटा: सहेजने/सहेजे गए फ़्लैश संदेश को कैसे बनाएं
- 11. .NET से नोटपैड में टेक्स्ट कैसे खोलें?
- 12. एंड्रॉइड: सहेजे गए इन्स्टेंसस्टेट को अनदेखा या अक्षम कैसे करें?
- 13. संग्रह में Backbone.js सिंक ईवेंट
- 14. ओपन सोर्स एप्लिकेशन में सहेजे गए पासवर्ड को संग्रहीत करना
- 15. ग्रहण (एंड्रॉइड डीबग के लिए) में लॉग कैट कैसे खोलें
- 16. नोटपैड ++, देखें कि सहेजे गए रन कमांड
- 17. एसएसआईएस पैकेज कहां से सहेजे गए हैं?
- 18. PHP फ़ाइल पोस्ट बिना सहेजे गए अपलोड
- 19. सहेजे गए फॉर्म डेटा का फ़ायरफ़ॉक्स मैनिपुलेशन
- 20. स्प्रिंग सिक्योरिटी के सहेजे गए रिव्यूस्ट को लॉजिक
- 21. UImagePickerController के बिना iPhone में प्रोग्राम किए गए सहेजे गए चित्रों से छवियों तक कैसे पहुंचे?
- 22. Backbone.listen से ट्रिगर किए गए ईवेंट को कैसे ढूंढें?
- 23. .NET में विंडोज प्रपत्रों में एक नई विंडो कैसे खोलें?
- 24. matplotlib सहेजे गए आंकड़ों में मेटाडेटा जोड़ सकते हैं?
- 25. विस्क्रिप्टस्क्रिप्ट जांचें कि वर्तमान बफर में सहेजे गए परिवर्तन
- 26. .click() ईवेंट जब 'नया टैब/विंडो में खोलें'
- 27. बटन क्लिक ईवेंट पर नई ब्राउज़र विंडो कैसे खोलें?
- 28. .NET अप्रचलित में गैर-जेनेरिक संग्रह हैं?
- 29. .NET 2.0 में एक बहु-फ्रेम TIFF छवि प्रारूप छवि को कैसे खोलें?
- 30. जावास्क्रिप्ट एपीआई का उपयोग कर पार्स में ऑब्जेक्ट सिक्योरिटी - सहेजे गए ऑब्जेक्ट्स पर उपयोगकर्ताओं को ट्राइंग