क्या कोई सी ++ लाइब्रेरी विशेष रूप से लॉग पार्सिंग (मल्टीलाइन घटनाओं को पहचानने में मदद करने के लिए) है? वेब पार्सिंग के लिए अपाचे लॉग या libcurl के लिए MergeLog की तरह?लॉग पार्सिंग के लिए सी ++ लाइब्रेरी
उत्तर
जब तक आप एक उपयुक्त पुस्तकालय पर ठोकर न लें, मेरी सलाह एक स्टैंडअलोन लेक्सर का उपयोग करना होगा।
- फ्लेक्स + बाइसन के बजाय, flex alone (सी/सी ++) का उपयोग करें।
- ocamllex + ocamlyacc के बजाय, ocamllex alone (ओकैमल) का उपयोग करें।
- Ragel (सी/सी ++/उद्देश्य सी/डी/जावा/रूबी)।
इस तरह आप (वैसे भी तरह लॉग फ़ाइलों के लिए की व्यर्थ है जो) एक व्याकरण को परिभाषित करने के लिए और आप खतरनाक फ्रेंकस्टीन-regex-राक्षस कभी कभी अंधेरी जगहों में देखा से बचने के होने से बचने के।
मुझे किसी भी लॉग पार्सिंग पुस्तकालयों से अवगत नहीं है। आप हमेशा एक सामान्य उद्देश्य पार्सर जनरेटर का उपयोग कर सकते हैं, जैसे Boost.Spirit, ANTLR, या lex/yacc; वह दृष्टिकोण शायद अधिक काम करेगा, लेकिन यह बेहद लचीला है।
यदि एक पार्सर जेनरेटर ओवरकिल है, तो मैं सिर्फ लॉगफाइल पर बहुत सारे रेगेक्स फेंक दूंगा।
धन्यवाद जोश, याक/लेक्स एक छोटे से भारी प्रोग्रामर पर लग रहा है लग रहा है। –
आप पार्सर भाग को छोड़ सकते हैं और एक स्टैंडअलोन लेक्सर का उपयोग कर सकते हैं। यह अनियंत्रित regexes के एक गुच्छा से अधिक सुविधाजनक है और एक पूर्ण उड़ा पार्सर से आसान तरीका है। – bltxd
@stack_zen: आत्मा, एएनटीएलआर, और लेक्स/yacc सभी एक ही भूमिका, अधिक या कम भरें। आत्मा और एएनटीएलआर अधिक आधुनिक और संभवतः सीखना आसान है। जैसा कि आपने कहा था, वे सभी थोड़ा भारी हो सकते हैं, लेकिन वे शक्तिशाली उपकरण हैं। –
- 1. सी पार्सिंग दिनांक समय के लिए लाइब्रेरी
- 2. समीकरण पार्सिंग लाइब्रेरी सी ++
- 3. आरएसएस फ़ीड पार्सिंग के लिए उद्देश्य-सी लाइब्रेरी?
- 4. एंड्रॉइड: सर्वश्रेष्ठ एक्सएमएल पार्सिंग लाइब्रेरी?
- 5. .NET फोन नंबर पार्सिंग लाइब्रेरी
- 6. क्या नेट के लिए कोई अच्छी पार्सिंग लाइब्रेरी है?
- 7. परफमन .blg फ़ाइल विनिर्देश/पार्सिंग लाइब्रेरी
- 8. PHP अच्छी लॉग लाइब्रेरी?
- 9. पार्सिंग स्नॉर्ट्स के साथ पार्सिंग
- 10. पार्सिंग कोड के लिए जीसीसी
- 11. पार्सिंग गिट लॉग आउटपुट, अधिमानतः एक्सएमएल
- 12. विंडोज फोन प्रोफाइलिंग - पार्सिंग लॉग असफल
- 13. कोड पार्सिंग सी #
- 14. पार्सिंग सी OCaml
- 15. पार्सिंग एक्सएमएल स्ट्रिंग सी #
- 16. XML पार्सिंग त्रुटि - सी #
- 17. सी # पार्सिंग एक्सएमएल फ़ाइल
- 18. सी ++ हेक्स पार्सिंग
- 19. सी # पार्सिंग एचटीएमएल?
- 20. सी ++ छवि पहचान के लिए लाइब्रेरी:
- 21. क्या सी ++ के लिए LINQ लाइब्रेरी है?
- 22. सी ++ 0x के लिए लाइब्रेरी योजनाएं?
- 23. सी ++ के लिए वितरित साझा मेमोरी लाइब्रेरी?
- 24. यूडीटी सी ++ लाइब्रेरी के लिए पायथन रैपर
- 25. सॉकेट एपीआई या सी ++ के लिए लाइब्रेरी?
- 26. सी ++ के लिए टोरेंट लाइब्रेरी, विंडोज
- 27. सी के लिए एसटीएम हैश लाइब्रेरी (ग्लिब?)
- 28. सी # आसान गतिशील प्रतिबिंब के लिए लाइब्रेरी
- 29. क्या सी के लिए लाइब्रेरी भंडार है?
- 30. लाइब्रेरी कोड से एप्लिकेशन लॉग में लॉग इन करने के लिए रणनीतियां?
हाँ, इसे boost :: regex कहा जाता है। –
शायद मैक्सिम का सुझाव वास्तव में इस मामले के लिए पर्याप्त होगा। Boost.Xpressive अच्छे हालांकि, http://www.boost.org/doc/libs/1_36_0/doc/html/xpressive.html –