C++:
लॉगिंग

कैसे करें:

मान लीजिए आप एक लिनक्स सिस्टम पर काम कर रहे हैं और आप चाहते हैं कि आपके लॉग्स एक फाइल में अच्छे ‘पुराने C++’ का उपयोग करके जमा हो जाएं। आपको फाइल संचालन करने के लिए <iostream> और <fstream> लाइब्रेरीज़ शामिल करनी होंगी। यहां एक त्वरित उदाहरण है:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ofstream logFile("appLog.txt", std::ios::app);  // ऐपेंड मोड में ओपन करें

    if (!logFile.is_open()) {
        std::cerr << "लॉग फाइल खोलने में समस्या हुई!" << std::endl;
        return 1;
    }

    logFile << "अनुप्रयोग शुरू हुआ" << std::endl;
  
    // ... आपके ऐप लॉजिक के किसी भाग में
    logFile << "एक महत्वपूर्ण घटना घटी है" << std::endl;

    // फाइल स्ट्रीम बंद करना न भूलें
    logFile.close();

    return 0;
}

यदि आप अपनी लॉग फाइल को tail -f appLog.txt के साथ टेल करते हैं, तो आपको दिखना चाहिए:

अनुप्रयोग शुरू हुआ
एक महत्वपूर्ण घटना घटी है

अच्छा है, आपके पास घटनाओं का समयांकित रिकॉर्ड है!

गहन अध्ययन

लॉगिंग कंप्यूटिंग के साथ ही पुरानी है, जिसकी जड़ें पेपर पर वास्तविक निशानों में हैं ताकि प्राचीन कंप्यूटर क्या कर रहे थे, उसका पता लग सके। आधुनिक युग में, यह सब कुशल सॉफ्टवेयर समाधानों के बारे में है। आपके पास सीधे-से-फाइल लॉगिंग है, जैसे कि ऊपर दिया गया त्वरित और गंदा उदाहरण, या आप C++ क्षेत्र में Log4cpp या Boost.Log जैसे अधिक शानदार लॉगिंग फ्रेमवर्क का उपयोग कर सकते हैं; ये बड़े लोग लॉगिंग स्तर, प्रारूप नियंत्रण और बहुत कुछ प्रदान करते हैं।

स्तरों की बात करते हुए, लॉगिंग की बेहतरीन प्रथाएं शामिल करती हैं कि गंभीरता के विभिन्न स्तरों का उपयोग किया जाता है—जानकारी, डीबग, चेतावनी, त्रुटि, घातक—ताकि जब आप बग्स को नष्ट कर रहे हों या यह पता लगा रहे हों कि आपका अनुप्रयोग एक आवेगी किशोर की तरह क्यों व्यवहार कर रहा है तो आप शोर को फ़िल्टर कर सकें।

प्रदर्शन के नोट पर, अपने लॉग्स के साथ लापरवाह न हों। अत्यधिक लॉगिंग आपके तेजी से चलने वाले अनुप्रयोग को घोंघा मैराथन में बदल सकती है, फाइल सिस्टम्स को कम कर सकती है, या यदि आप क्लाउड-आधारित हैं तो आपको स्टोरेज शुल्क में डॉलर की लागत आ सकती है। सही संतुलन बनाए रखना महत्वपूर्ण है: आपको जो ज़रूरत है वह लॉग करें, और कुछ भी अधिक नहीं।

देखें भी

जो लोग अपनी लॉगिंग प्रथाओं के साथ अत्यधिक मील जाना पसंद करते हैं, इन्हें देखें:

  • Boost.Log Library कुछ शानदार लॉगिंग सुविधाओं के लिए।
  • Google का glog लाइब्रेरी, अगर आप टेक दिग्गज के रसोइयों द्वारा अपने एप्स में लॉगिंग के उपयोग में रुचि रखते हैं।
  • Log4cpp लाइब्रेरी एक विन्यास योग्य लॉगिंग तंत्र के लिए।

और लॉगिंग के कारणों और तरीकों पर थोड़ा सा पृष्ठभूमि वाचन के लिए, इसमें गोता लगाएँ: