Visual Basic for Applications:
लॉगिंग

कैसे:

VBA में, कुछ अन्य भाषाओं की तरह निर्मित लॉगिंग फ्रेमवर्क उपलब्ध नहीं है। हालांकि, एक सरल लॉगिंग मेकेनिज़्म को लागू करना सीधा है। नीचे एक बुनियादी फाइल लॉगर बनाने का उदाहरण दिया गया है।

  1. लॉग फाइल में लिखना: यह उदाहरण फ़ंक्शन, LogMessage, एक टेक्स्ट फाइल में टाइमस्टैम्प के साथ संदेशों को लिखता है।
Sub LogMessage(sandesh As String)
    Dim logFilePath As String
    Dim fileNum As Integer
    
    ' लॉग फाइल के पथ को निर्दिष्ट करें
    logFilePath = ThisWorkbook.Path & "\log.txt"
    
    ' अगले उपलब्ध फाइल नंबर को प्राप्त करें
    fileNum = FreeFile()
    
    ' फाइल को जोड़ने के लिए खोलें
    Open logFilePath For Append As #fileNum
    
    ' टाइमस्टैम्प और लॉग संदेश लिखें
    Print #fileNum, Now & ": " & sandesh
    
    ' फाइल को बंद करें
    Close #fileNum
End Sub

एक संदेश लॉग करने के लिए, बस LogMessage("आपका संदेश यहाँ") को कॉल करें। इससे log.txt में प्रविष्टियाँ निर्मित होती हैं जैसे:

4/30/2023 3:45:32 PM: आपका संदेश यहाँ
  1. लॉग फाइल से पढ़ना: लॉग फाइल की सामग्री को पढ़ने और प्रदर्शित करने के लिए:
Sub ReadLogFile()
    Dim logFilePath As String
    Dim fileContent As String
    Dim fileNum As Integer
    
    logFilePath = ThisWorkbook.Path & "\log.txt"
    fileNum = FreeFile()
    
    ' फाइल को पढ़ने के लिए खोलें
    Open logFilePath For Input As #fileNum
    
    ' पूरे फाइल सामग्री को पढ़ें
    fileContent = Input(LOF(fileNum), fileNum)
    
    ' फाइल को बंद करें
    Close #fileNum
    
    ' फाइल सामग्री प्रदर्शित करें
    MsgBox fileContent
End Sub

गहराई में जानकारी

VBA में लॉगिंग, चूंकि इसमें एक देशी लॉगिंग फ्रेमवर्क का अभाव है, आमतौर पर मूल फाइल ऑपरेशनों के माध्यम से या डेटाबेस में लॉगिंग जैसी अधिक उन्नत जरूरतों के लिए बाहरी COM ऑब्जेक्ट्स की शक्ति का हार्नेसिंग करके किया जाता है या Windows Event Log के साथ इंटरैक्ट करना। ऐतिहासिक रूप से, VBA में लॉगिंग इसके सरलीकृत त्रुटि हैंडलिंग और डिबगिंग उपकरणों द्वारा पेश की गई सीमाओं को दरकिनार करने का एक तरीका रहा है। हालांकि प्रभावी, सीधे फाइल मॅनिपुलेशन के लिए लॉगिंग आदिम है और बड़ी मात्रा में डेटा या उच्च समानांतरता के तहत अकुशल हो सकती है। अधिक सोफिस्टिकेटेड लॉगिंग क्षमताओं के लिए, प्रोग्रामर अक्सर बाहरी पुस्तकालयों की ओर मुड़ते हैं या ELK स्टैक (Elasticsearch, Logstash, Kibana) या Splunk जैसे विशेष रूप से लॉगिंग के लिए डिज़ाइन की गई प्रणालियों के साथ वेब सेवा कॉल या मध्यवर्ती डेटाबेस के माध्यम से एकीकृत होते हैं। जबकि VBA नई प्रोग्रामिंग भाषाओं में पाए जाने वाले आधुनिक सुविधाओं की पेशकश नहीं करता है, इसकी क्षमताओं और सीमाओं को समझना प्रोग्रामरों को एप्लिकेशन मॉनिटरिंग और नैदानिक उपकरण के रूप में लॉगिंग का प्रभावी रूप से उपयोग करने की अनुमति देता है।