
एप्पल यूनिफाइडलॉग्स के लिए एक क्रॉस-प्लेटफ़ॉर्म पार्सर!
एक सरल Rust लाइब्रेरी जो macOS Unified Log फ़ाइलों को पार्स करने में मदद कर सकती है।
Unified Logs को macOS संस्करण 10.12 (Sierra, 2016) में पेश किया गया था। यह सभी Apple उत्पादों के लिए एक unified log प्रारूप बनाने के Apple के लक्ष्य का हिस्सा था। ये macOS, iOS, watchOS, tvOS पर मौजूद हैं। Unified Logs, Apple द्वारा उपयोग किए जाने वाले कई पुराने log प्रारूपों की जगह लेते हैं। इस लाइब्रेरी का उपयोग इन log फ़ाइलों को पार्स करने के लिए किया जा सकता है।
वर्तमान में निकाले गए डेटा में निम्नलिखित शामिल हैं:
डाउनलोड करने के लिए एक उदाहरण बाइनरी उपलब्ध है
unifiedlog_iterator - एक logarchive को JSOL या CSV फ़ाइल में पार्स कर सकता है। यह लॉग्स को भी पार्स कर सकता है
लाइव सिस्टम पर। आउटपुट फ़ाइल काफी बड़ी होगीइसका परीक्षण लाखों लॉग प्रविष्टियों पर किया गया है। हालाँकि, Unified Log प्रारूप की जटिलता के कारण कुछ सीमाएँ हैं:
कोई printf शैली त्रुटि कोड लुकअप समर्थन नहीं। यह लाइब्रेरी लॉग संदेशों के लिए कोई त्रुटि
कोड लुकअप नहीं करती है। macOS पर मूल log कमांड printf शैली %m संदेशों का सामना
करने पर त्रुटि कोड लुकअप का समर्थन करता है।
उदाहरण के लिए लॉग संदेश: 'Failed to open file, error: %m'
a. यह लाइब्रेरी आउटपुट करती है:
Failed to open file, error: 1
b. macOS Log कमांड आउटपुट करता है:
Failed to open file, error: no such file or directory
यह लाइब्रेरी लॉग संदेशों में अधिकांश कस्टम ऑब्जेक्ट का समर्थन करती है। हालाँकि, असमर्थित ऑब्जेक्ट base64 एन्कोडेड होंगे