Što je Log4j?
Log4j je brzi, fleksibilni i pouzdani okvir za evidentiranje (APIS) napisan na Javi razvijen početkom 1996. Distribuira se pod softverskom licencom Apache. Log4J je prebačen na jezike C, C ++, C #, Perl, Python, Ruby i Eiffel. To je alat koji se koristi za male i velike projekte automatizacije selena.
Zašto koristiti Log4j?
- To je otvoreni izvor
- Pomoću Log4j moguće je pohraniti detalje protoka naše Selenium automatizacije u datoteku ili baze podataka
- Log4j se koristi za velike, ali i male projekte
- U Log4j koristimo zapisnike dnevnika umjesto SOPL izraza u kodu da bismo znali status projekta dok se izvršava
Log4j ima tri glavne komponente
- Sjekači : odgovoran je za bilježenje podataka. Da bi se drvosječe implementirali u projekt, treba izvršiti sljedeće korake -
- Stvaranje instance za klasu zapisničara : Klasa zapisničara je uslužni program zasnovan na Javi koji ima sve generičke metode koje su već implementirane za upotrebu log4j
- Definirajte razinu Log4j : Prvenstveno postoji pet vrsta razina dnevnika
- Sve - Ova razina zapisivanja evidentirat će sve (uključuje sve zapisnike)
- DEBUG - ispisuje informacije o otklanjanju pogrešaka i korisno je u fazi razvoja
- INFO - ispisati informativnu poruku koja naglašava napredak aplikacije
- UPOZORENJE - ispišite informacije u vezi s neispravnim i neočekivanim ponašanjem sustava.
- POGREŠKA - ispis poruke pogreške koja može omogućiti daljnji rad sustava
- FATAL - ispisuje kritične informacije sustava zbog kojih se aplikacija ruši
- ISKLJUČENO - Nema zapisivanja
- Dodaci : Koristi se za isporuku LogEvents-a do odredišta. Odlučuje što će se dogoditi s informacijama iz dnevnika. Jednostavnim riječima, koristi se za pisanje dnevnika u datoteku. Slijedi nekoliko vrsta dodataka
- ConsoleAppender zapisuje na standardni izlaz
- Dodatak datoteke ispisuje zapisnike u neku datoteku
- Pokretanje dodavača datoteke datoteci maksimalne veličine
Napomena: U svojstvima log4j možemo nazvati dodavač s bilo kojim imenom. Postoje i drugi dodaci, ali mi ćemo se ograničiti na ovih nekoliko.
- Izgledi : Odgovorno je za formatiranje podataka evidentiranja u različitim stilovima.
Klasa Logger nudi različite metode za rukovanje aktivnostima bilježenja. Pruža dvije statičke metode za dobivanje predmeta bilježenja.
Javni statički zapisnik getRootLogger ()Javni statički zapisnik getLogger (naziv niza)
Kako je konfiguriran log4j?
Da bismo konfigurirali log4j, moramo odlučiti koji ćemo dodatak implementirati. U skladu s tim postavit će se parametri dodavača.
- Upotrijebit ćemo razinu DEBUG i RollingFileAppender
- Napravit ćemo dvije konfiguracije ili zapisnike,
- Prvo: root zapisnik, koji će sve zapise generirane sustavom zapisati u ime datoteke, tj. Selenium.logs
- Drugo: Zapisat će podatke generirane ručnim naredbama u kod u naziv datoteke - Manual.logs
- Izgled će biti PatternLayout
# Korijenski zapisnik
log4j.rootLogger = DEBUG, datotekalog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900 KBlog4j.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
#Dnevnici primjene
log4j.logger.devpinoyLogger = DEBUG, dest1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900 KBlog4j.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
U gornjem primjeru konfigurirali smo log4j za prijavu u dvije različite datoteke nazvane Selenium.log i Manual.log.
- datoteka i dest1 dva su identifikatora.
- "Datoteka" se koristi za davanje naziva datoteke u koju će se zapisnici spremati
- "maxFileSize" koristi se za konfiguriranje maksimalne veličine datoteke dnevnika. Kad datoteka dosegne ovu veličinu, stvorit će se nova datoteka s istim imenom, a staro će joj se ime dodati kao indeks.
- "maxBackupIndex" koristi se za konfiguriranje maksimalnog broja datoteka koje će biti sigurnosne kopije.
- "layout" koristi se za postavljanje formata datoteke dnevnika.
- "Dodati" se koristi za postavljanje funkcije dodavanja. Ako je postavljeno na false, tada će se svaki put stvarati nova datoteka, a ne stara datoteka koja će se koristiti za bilježenje
Kako se log4j koristi u skripti?
U kodu smo koristili "log" kao referentnu varijablu koja se poziva na metodu getLogger klase Logger
Dnevnik dnevnika = Logger.getLogger ("devpinoyLogger");
Upotrijebite varijablu i metodu otklanjanja pogrešaka koji se odnose na zapisnik da biste evidentirali podatke koje želimo.
log.debug ("- information--");
Što je alat LogExpert?
- Alat LogExpert alat je za Windows razvijen za praćenje dnevnika
- Besplatan je i preglednik dnevnika s otvorenim kodom.
- To je alat za analizu dnevnika s više značajki poput pretraživanja, filtriranja, označavanja i isticanja dnevnika
- U tim zapisnicima alata datoteke se automatski ažuriraju kada se otvore
- U ovom alatu možemo otvoriti više datoteka dnevnika na različitim karticama
- Također možemo stavljati komentare na oznake, a tu je i prečac za kretanje između različitih oznaka. Također možemo vidjeti cjelovit popis oznaka i kretati se od tamo
- Prečaci alata navedeni su u datoteci pomoći kako bi se mogli uputiti na alat.
Koraci za upotrebu Log4j sa selenom
Korak 1) U Eclipseu stvorite novi projekt s imenom log4j_demo
Korak 2) Desnom tipkom miša kliknite src -> Put izgradnje -> Konfiguriranje puta gradnje
Korak 2) Kliknite Knjižnice i dodajte Knjižnicu Log4J. Možete ga preuzeti s https://logging.apache.org/log4j/1.2/download.html
Korak 3) Stvorite novu datoteku. Ova će datoteka sadržavati sve konfiguracije log4j
- Desnom tipkom miša kliknite src -> Novo -> Ostalo -> Općenito -> Datoteka
- Dajte naziv datoteke "log4j.properties"
- Kliknite Finish
Stvorite još dvije datoteke i dajte im imena poput Selenium.logs i Manual.logs. Te će datoteke sadržavati sve zapisnike koje je kreirao sistem i ručno evidentirane izjave
Korak 4) U log4j.properties kopirajte cijelu konfiguraciju.
Korak 5) Stvorite glavnu klasu:
- Desnom tipkom miša kliknite zadani paket -> Novo -> Razred
- Dajte naziv predavanju i kliknite na završetak
Korak 6) Kopirajte sljedeći kod u glavnu klasu
uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.apache.log4j.Logger;javna klasa LoggingDemo {/ *** @param args* /javna statička void glavna (String [] args) {// TODO Automatski generirani kvar metodeUpravljački program za WebDriver = novi FirefoxDriver ();Dnevnik dnevnika = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("otvaranje webiste");driver.manage (). timeouts (). implicitnoWait (20, TimeUnit.SECONDS);log.debug ("unos težine");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("odabir kilograma");driver.findElement (By.name ("opt1")). sendKeys ("kilogrami");log.debug ("odabir visine u stopama");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("odabir visine u inčima");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Klik na izračunati");driver.findElement (By.name ("cc")). click ();log.debug ("Dobivanje vrijednosti SIUnit");Niz SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Dobivanje vrijednosti USUnit");Niz USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Dobivanje vrijednosti UKUnit");Niz UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Dobivanje cjelokupnog opisa");Napomena o nizu = 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 ("note =" + bilješka);driver.quit ();}}
U gornjem kodu posjećujemo http://healthunify.com/bmicalculator/i provjeravamo BMI kalkulator. Unesena težina je 87 kg, a visina 5 stopa 10 inča. Skripta provjerava izlaz u jedinicama SE, US i UK.
Koristeći Logger.getLogger ("devpinoyLogger") kreiramo zapisnike na razini sustava
Korištenjem metode log.debug podatke pohranjujemo u Manual.log
Korak 7) Pokrenite skriptu. Otvorite mjesto dnevnika Ručni i Selen kako biste provjerili podatke evidentiranja.
Kako se alat LogExpert može koristiti za analizu dnevnika
- Preuzmite alat s http://logexpert.codeplex.com/. Idite u mapu za preuzimanje LogExpert
- Otvorite LogExpert.exe
- Kliknite Datoteka -> Otvori i pregledajte put do kojeg su pohranjene datoteke Manual.log i Selenium.log. Odaberite datoteku
- Odaberite opciju "Follow tail"
Odabirom opcije follow tail omogućuje praćenje dnevnika, što znači da LogExpert automatski ažurira datoteku dnevnika kada je skripta u fazi izvršavanja. Ako koristimo bilo koji drugi uređivač kao što je notepad, moramo ponovo zatvoriti i ponovo otvoriti datoteku da bismo ažurirali zapisnike. No, s ExpertTool u načinu praćenja repa to nije potrebno.
Sljedeće slike pokazuju raspored dnevnika
Pomoću alata LogExpert možete otkloniti pogreške u zapisnicima stvorenim od selenium webdriver-a kao jednom u ovom alatu
- potražite bilo koji tekst i regularni izraz,
- stvoriti oznaku i komentirati ih, a također se možete kretati između oznaka što nije moguće u bilo kojem drugom alatu,
- Filtrirajte zapisnike i pretražite raspone teksta, a također možete primijeniti drugi filtar na prethodne filtrirane zapisnike,
- Istaknite različit redak na temelju nekih određenih riječi.
Ovaj alat također pomaže razdvajanju podataka u različite stupce.