सेलेनियम ट्यूटोरियल के साथ लॉग 4 जे: डाउनलोड, इंस्टॉल, उपयोग और amp; उदाहरण

विषय - सूची:

Anonim

Log4j क्या है?

Log4j एक तेज, लचीला और विश्वसनीय लॉगिंग फ्रेमवर्क (APIS) है जिसे जावा में 1996 में लिखा गया था। इसे Apache Software लाइसेंस के तहत वितरित किया गया है। Log4J को C, C ++, C #, पर्ल, पायथन, रूबी और एफिल भाषाओं में पोर्ट किया गया है। यह एक उपकरण है जिसका उपयोग छोटे से बड़े पैमाने पर सेलेनियम ऑटोमेशन परियोजनाओं के लिए किया जाता है।

Log4j का उपयोग क्यों करें?

  • यह एक खुला स्रोत है
  • Log4j के साथ, फ़ाइल या डेटाबेस में हमारे सेलेनियम स्वचालन के प्रवाह विवरण को संग्रहीत करना संभव है
  • Log4j का उपयोग बड़े और साथ ही छोटे प्रोजेक्ट के लिए किया जाता है
  • Log4j में, हम एक परियोजना की स्थिति जानने के लिए कोड में SOPL कथनों के बजाय लॉग स्टेटमेंट का उपयोग करते हैं, जबकि यह निष्पादित हो रहा है

Log4j में तीन प्रमुख घटक होते हैं

  1. लॉगर्स : यह लॉगिंग जानकारी के लिए जिम्मेदार है। निम्नलिखित चरणों में एक परियोजना में लकड़हारा लागू करने के लिए प्रदर्शन किया जाना चाहिए -
  • लकड़हारा वर्ग के लिए एक उदाहरण बनाएँ : लकड़हारा वर्ग एक जावा-आधारित उपयोगिता है जिसे लॉग 4j का उपयोग करने के लिए पहले से लागू सभी सामान्य तरीके मिल गए हैं
  • Log4j स्तर को परिभाषित करें : मुख्य रूप से लॉग स्तर के पाँच प्रकार हैं
    1. सभी - लॉगिंग का यह स्तर सब कुछ लॉग करेगा (यह सभी लॉग ऑन करता है)
    2. DEBUG - डिबगिंग जानकारी प्रिंट करें और विकास चरण में सहायक है
    3. जानकारी - प्रिंट सूचनात्मक संदेश जो अनुप्रयोग की प्रगति को उजागर करता है
    4. WARN - दोषपूर्ण और अप्रत्याशित प्रणाली व्यवहार के बारे में जानकारी मुद्रित करें।
    5. त्रुटि - प्रिंट त्रुटि संदेश जो सिस्टम को जारी रखने की अनुमति दे सकता है
    6. FATAL - प्रिंट सिस्टम महत्वपूर्ण जानकारी जो एप्लिकेशन को क्रैश करने का कारण बन रही है
    7. उतर - कोई लॉगिंग नहीं
  1. Appenders : यह अपने गंतव्य LogEvents वितरित करने के लिए प्रयोग किया जाता है। यह तय करता है कि लॉग जानकारी के साथ क्या होगा। सरल शब्दों में, इसका उपयोग फ़ाइल में लॉग लिखने के लिए किया जाता है। निम्नलिखित कुछ प्रकार के परिशिष्ट हैं
    1. ConsoleAppender मानक आउटपुट में लॉग करता है
    2. फ़ाइल ऐपेंडर प्रिंट कुछ फ़ाइल में लॉग करता है
    3. अधिकतम आकार के साथ एक फ़ाइल के लिए फ़ाइल परिशिष्ट रोलिंग

    नोट: log4j प्रॉपर्टीज में हम किसी भी नाम के साथ ऐपेंडर को कॉल कर सकते हैं। साथ ही अन्य परिशिष्ट भी हैं लेकिन हम इन कुछ को ही सीमित करेंगे।

  2. लेआउट : यह विभिन्न शैलियों में लॉगिंग जानकारी को फ़ॉर्मेट करने के लिए ज़िम्मेदार है।

लकड़हारा वर्ग लॉगिंग गतिविधियों को संभालने के लिए विभिन्न तरीके प्रदान करता है। यह एक लकड़हारा वस्तु प्राप्त करने के लिए दो स्थिर तरीके प्रदान करता है।

सार्वजनिक स्थैतिक लकड़हारा getRootLogger ()सार्वजनिक स्थैतिक लकड़हारा getLogger (स्ट्रिंग नाम)

कैसे log4j कॉन्फ़िगर किया गया है?

Log4j को कॉन्फ़िगर करने के लिए हमें यह तय करना होगा कि किस ऐप्प को लागू करना है तदनुसार, परिशिष्ट के मापदंडों को निर्धारित किया जाएगा।

  • हम DEBUG स्तर और RollingFileAppender का उपयोग करेंगे
  • हम दो कॉन्फ़िगरेशन या लॉग करेंगे,
    • पहला: रूट लकड़हारा, जो फ़ाइल नाम यानी सेलेनियम.लॉग में सभी सिस्टम जनरेटेड लॉग्स लिखेगा
    • दूसरा: फ़ाइल नाम- Manual.logs में कोड में मैनुअल कमांड द्वारा उत्पन्न जानकारी लिखेंगे
  • लेआउट पैटर्नलेयआउट होगा

#Root लकड़हारा

log4j.rootLogger = DEBUG, फ़ाइलlog4j.appender.file = org.apache.log4j.ollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ सेलेनियम.लॉगlog4j.appender.file.maxFileSize = 900KBlog4j.appender.file.maxBackupIndex = 5log4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern =% d {ABSOLUTE}% 5p% c  {1} :% L -% m% nlog4j.appender.file.Append = false

# आवेदन लॉग

log4j.logger.devpinoyLogger = DEBUG, dest1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900KBlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {dd / MM / yyyy HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false

उपरोक्त उदाहरण में, हमने लॉग 4 जे को सेलेनियम.लॉग और मैनुअल.लॉग नाम की दो अलग-अलग फाइलों में लॉग करने के लिए कॉन्फ़िगर किया है।

  • फ़ाइल और डेस्ट 1 दो पहचानकर्ता हैं।
  • "फ़ाइल" का उपयोग फ़ाइल नाम देने के लिए किया जाता है जिसमें लॉग सहेजे जाएंगे
  • "maxFileSize" का उपयोग लॉग फ़ाइल के अधिकतम आकार को कॉन्फ़िगर करने के लिए किया जाता है। जब फ़ाइल इस आकार तक पहुँच जाती है, तो उसी नाम से एक नई फ़ाइल बनाई जाएगी और पुराने फ़ाइल नाम को एक इंडेक्स के रूप में जोड़ा जाएगा।
  • "maxBackupIndex" का उपयोग बैकअप के लिए अधिकतम फ़ाइलों को कॉन्फ़िगर करने के लिए किया जाता है।
  • "लेआउट" का उपयोग लॉग फ़ाइल के प्रारूप को सेट करने के लिए किया जाता है।
  • "परिशिष्ट" का उपयोग परिशिष्ट फ़ंक्शन को सेट करने के लिए किया जाता है। यदि इसे गलत पर सेट किया जाता है, तो हर बार की तुलना में पुरानी फ़ाइल के बजाय एक नई फ़ाइल बनाई जाएगी जिसका उपयोग लॉगिंग के लिए किया जाएगा

कैसे log4j स्क्रिप्ट के भीतर प्रयोग किया जाता है?

कोड में, हमने "लॉग" का उपयोग संदर्भ चर संदर्भकर्ता के रूप में किया है

लकड़हारा लॉग = लकड़हारा.गेटलॉगर ("देवपिनॉयलॉगर");

हम चाहते हैं कि जानकारी लॉग करने के लिए चर और डिबग विधि संदर्भित "लॉग" का उपयोग करें।

log.debug ("- information--");

LogExpert टूल क्या है?

  1. LogExpert टूल, विंडोज़ के लिए एक टूल है जो लॉग्स को टेल करने के लिए विकसित किया गया है
  2. यह फ्री और ओपन सोर्स लॉग व्यूअर है।
  3. यह एक लॉग विश्लेषण उपकरण है जिसमें लॉग को खोजना, फ़िल्टर करना, बुकमार्क करना और हाइलाइट करना जैसी कई विशेषताएं हैं
  4. इस टूल लॉग में, फाइल खोलने पर स्वचालित रूप से अपडेट हो जाती हैं
  5. इस टूल में, हम विभिन्न टैब में कई लॉग फाइल खोल सकते हैं
  6. हम टिप्पणियों को बुकमार्क पर भी रख सकते हैं, और विभिन्न बुकमार्क्स के बीच नेविगेट करने के लिए शॉर्टकट कुंजी है। हम पूरी बुकमार्क सूची भी देख सकते हैं और वहां से नेविगेट कर सकते हैं
  7. टूल के शॉर्टकट मदद फ़ाइल में दिए गए हैं ताकि उन्हें टूल को संदर्भित किया जा सके।

सेलेनियम के साथ Log4j का उपयोग करने के लिए कदम

चरण 1) ग्रहण में log4j_demo नाम से एक नई परियोजना बनाएं

चरण 2) src पर राइट क्लिक करें -> बिल्ड पाथ -> कन्फर्म बिल्ड पाथ

चरण 2) पुस्तकालयों पर क्लिक करें और लॉग 4 जे लाइब्रेरी जोड़ें। आप इसे https://log.apache.org/log4j/1.2/download.html से डाउनलोड कर सकते हैं

चरण 3) एक नई फ़ाइल बनाएँ। इस फ़ाइल में सभी log4j कॉन्फ़िगरेशन शामिल होंगे

  1. Src -> New -> Other -> General -> File पर राइट क्लिक करें
  2. "Log4j.properties" के रूप में फ़ाइल का नाम दें
  3. समाप्त पर क्लिक करें

दो और फाइलें बनाएं और उन्हें सेलेनियम.लॉग और मैनुअल.लॉग जैसे नाम दें। इन फ़ाइलों में सिस्टम द्वारा बनाए गए सभी लॉग और मैन्युअल रूप से लॉग किए गए स्टेटमेंट होंगे

चरण 4) log4j.properties में संपूर्ण कॉन्फ़िगरेशन की प्रतिलिपि बनाएँ।

चरण 5) मुख्य वर्ग बनाएं:

  1. डिफ़ॉल्ट पैकेज पर राइट क्लिक करें -> नया -> वर्ग
  2. क्लास का नाम दें और फिनिश पर क्लिक करें

चरण 6) निम्नलिखित कोड को मुख्य वर्ग में कॉपी करें

आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.apache.log4j.ogger;सार्वजनिक वर्ग/ *** @ अपरम अर्ग* /सार्वजनिक स्थैतिक शून्य main (String [] args) {// TODO ऑटो-जनरेट विधि ठूंठWebDriver ड्राइवर = नया FirefoxDriver ();लकड़हारा लॉग = लकड़हारा.गेटलॉगर ("देवपिनॉयलॉगर");Driver.get ("http://healthunify.com/bmicalculator/");log.debug ("वेबिस्ट खोलना");ड्राइवर।log.debug ("उलझा हुआ वजन");Driver.findElement (By.name ("wg"))। sendKeys ("87");log.debug ("किलोग्राम का चयन करना");Driver.findElement (By.name ("ऑप्ट 1"))। SendKeys ("किलोग्राम");log.debug ("पैरों में ऊंचाई का चयन");Driver.findElement (By.name ("ऑप्ट 2"))। SendKeys ("5");log.debug ("इंच में ऊंचाई का चयन");Driver.findElement (By.name ("ऑप्ट 3"))। SendKeys ("10");log.debug ("गणना पर क्लिक करना");Driver.findElement (By.name ("cc"))। क्लिक करें ();log.debug ("SIUnit मान प्राप्त करना");स्ट्रिंग SIUnit = driver.findElement (By.name ("si"))। GetAttribute ("मान");log.debug ("USUnit मान प्राप्त करना");स्ट्रिंग USUnit = driver.findElement (By.name ("us"))। getAttribute ("मान");log.debug ("UKUnit मान प्राप्त करना");स्ट्रिंग UKUnit = driver.findElement (By.name ("uk"))। GetAttribute ("मान");log.debug ("समग्र विवरण प्राप्त करना");स्ट्रिंग नोट = driver.findElement (By.name ("desc"))। getAttribute ("value");System.out.println ("SIUnit =" + SIUnit);System.out.println ("USUnit =" + USUnit);System.out.println ("UKUnit =" + UKUnit);System.out.println ("नोट =" + नोट);Driver.quit ();}}

उपरोक्त कोड में, हम http://healthunify.com/bmicalculator/and बीएमआई कैलकुलेटर को सत्यापित करते हैं। प्रवेश किया गया वजन 87KG है और ऊंचाई 5 फीट 10 इंच है। स्क्रिप्ट एसई, यूएस और यूके इकाइयों में आउटपुट की जांच करती है।

Logger.getLogger ("devpinoyLogger") का उपयोग करके हम सिस्टम स्तर लॉग बनाते हैं

Log.debug मेथड का उपयोग करके हम डेटा को Manual.log में स्टोर करते हैं

चरण 7) स्क्रिप्ट चलाएँ। लॉगिंग डेटा की जांच करने के लिए मैनुअल और सेलेनियम लॉग का स्थान खोलें।

लॉग का विश्लेषण करने के लिए LogExpert टूल का उपयोग कैसे किया जा सकता है

  1. Http://logexpert.codeplex.com/ से टूल डाउनलोड करें। LogExpert डाउनलोड फ़ोल्डर में जाएं
  2. LogExpert.exe खोलें
  3. फ़ाइल पर क्लिक करें -> ओपन करें और उस पथ पर ब्राउज़ करें जहां मैन्युअल.लॉग और सेलेनियम.लॉग फ़ाइलें संग्रहीत हैं। फ़ाइल का चयन करें
  4. "फॉलो टेल" विकल्प चुनें

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

    निम्नलिखित छवियां लॉग के लेआउट को दिखाती हैं

LogExpert टूल का उपयोग करके, सेलेनियम वेबड्राइवर द्वारा बनाए गए लॉग को डिबग कर सकते हैं जैसे कि इस टूल में एक बार कर सकते हैं

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

यह टूल डेटा को अलग-अलग कॉलम में विभाजित करने में भी मदद करता है।