Kaj je Log4j?
Log4j je hiter, prilagodljiv in zanesljiv dnevniški sistem (APIS), napisan v Javi, razvit v začetku leta 1996. Razdeljen je pod licenco programske opreme Apache. Log4J je bil prenesen v jezike C, C ++, C #, Perl, Python, Ruby in Eiffel. Je orodje, ki se uporablja za male in velike projekte avtomatizacije Selenium.
Zakaj uporabljati Log4j?
- Je odprtokodna
- Z Log4j je mogoče podatke o toku naše Selenium Automation shraniti v datoteko ali zbirko podatkov
- Log4j se uporablja tako za velike kot za manjše projekte
- V Log4j uporabljamo stavke dnevnika namesto stavkov SOPL v kodi, da ugotovimo stanje projekta med izvajanjem
Log4j ima tri glavne komponente
- Drvarji : odgovoren je za beleženje informacij. Za vgradnjo zapisovalcev v projekt je treba izvesti naslednje korake -
- Ustvarjanje primerka za razred zapisovalnika : Razred zapisovalnika je pripomoček, ki temelji na Javi in ima vse generične metode, ki so že implementirane za uporabo log4j
- Določite nivo Log4j : V glavnem obstaja pet vrst nivojev dnevnika
- Vse - Ta raven beleženja bo zabeležila vse (vključi vse dnevnike)
- DEBUG - natisnite informacije o odpravljanju napak in je v pomoč v fazi razvoja
- INFO - natisnite informativno sporočilo, ki poudarja napredek aplikacije
- OPOZORILO - natisnite informacije o napakah in nepričakovanem vedenju sistema.
- ERROR - natisnite sporočilo o napaki, ki bi lahko omogočilo nadaljevanje sistema
- FATAL - tiskanje kritičnih informacij sistema, zaradi katerih se aplikacija sesuje
- OFF - Brez beleženja
- Dodatki : Uporablja se za dostavo LogEvents do njihovega cilja. Odloča, kaj se bo zgodilo z informacijami dnevnika. Z enostavnimi besedami se uporablja za zapisovanje dnevnikov v datoteko. Sledi nekaj vrst dodatkov
- ConsoleAppender beleži v standardni izhod
- Pripomoček za datoteke natisne dnevnike v neko datoteko
- Premikanje datoteke v datoteko z največjo velikostjo
Opomba: V lastnostih log4j lahko prikličemo appender s katerim koli imenom. Obstajajo tudi drugi dodatki, vendar se bomo omejili na teh nekaj.
- Postavitve : odgovoren je za oblikovanje dnevnika v različnih slogih.
Razred Logger ponuja različne metode za obdelavo beleženja. Ponuja dve statični metodi za pridobivanje predmeta Logger.
Javni statični zapisovalnik datotek getRootLogger ()Javni statični zapisovalnik zapisov getLogger (ime niza)
Kako je konfiguriran log4j?
Za konfiguracijo log4j se moramo odločiti, kateri dodatek bomo uporabili. Skladno s tem bodo nastavljeni parametri priloge.
- Uporabili bomo nivo DEBUG in RollingFileAppender
- Naredili bomo dve konfiguraciji ali dnevnike,
- Najprej: root logger, ki bo zapisal vse sistemsko ustvarjene dnevnike v ime datoteke, tj. Selenium.logs
- Drugič: Informacije, ki jih ustvarijo ročni ukazi, bo zapisal v kodo v ime datoteke - Manual.logs
- Postavitev bo PatternLayout
#Root logger
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
#Application Logs
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 / llllll HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false
V zgornjem primeru smo konfigurirali log4j za prijavo v dve različni datoteki, imenovani Selenium.log in Manual.log.
- datoteka in dest1 sta dva identifikatorja.
- "Datoteka" se uporablja za določitev imena datoteke, v kateri bodo shranjeni dnevniki
- "maxFileSize" se uporablja za konfiguriranje največje velikosti dnevniške datoteke. Ko datoteka doseže to velikost, se ustvari nova datoteka z istim imenom, staro ime pa se doda kot indeks.
- "maxBackupIndex" se uporablja za konfiguriranje največjega števila datotek za varnostno kopiranje.
- "layout" se uporablja za nastavitev oblike dnevniške datoteke.
- "Dodaj" se uporablja za nastavitev funkcije dodajanja. Če je nastavljeno na false, bo vsakič, ko bo ustvarjena nova datoteka, namesto stare datoteke uporabljena za beleženje
Kako se log4j uporablja v skriptu?
V kodi smo uporabili "log" kot referenčno spremenljivko, ki se sklicuje na metodo getLogger razreda Logger
Logger log = Logger.getLogger ("devpinoyLogger");
Za zapisovanje želenih informacij uporabite "log", ki se sklicuje na spremenljivko in metodo za odpravljanje napak.
log.debug ("- informacije--");
Kaj je orodje LogExpert?
- Orodje LogExpert je orodje za Windows, razvito za lov na dnevnike
- Je brezplačen in odprtokodni pregledovalnik dnevnikov.
- Je orodje za analizo dnevnikov z več funkcijami, kot so iskanje, filtriranje, dodajanje zaznamkov in označevanje dnevnikov
- V teh dnevnikih orodij se datoteke ob odprtju samodejno posodobijo
- V tem orodju lahko na različnih zavihkih odpremo več dnevniških datotek
- Na zaznamke lahko dodamo tudi komentarje, med različnimi zaznamki pa se lahko premikate po bližnjični tipki. Ogledamo si lahko tudi celoten seznam zaznamkov in od tam krmarimo
- Bližnjice orodja so podane v datoteki pomoči, tako da jih je mogoče napotiti na orodje.
Koraki za uporabo Log4j s selenom
Korak 1) V Eclipse ustvarite nov projekt z imenom log4j_demo
Korak 2) Z desno miškino tipko kliknite src -> Gradnja poti -> Konfiguriranje poti gradnje
Korak 2) Kliknite Knjižnice in Dodaj knjižnico Log4J. Lahko ga prenesete s https://logging.apache.org/log4j/1.2/download.html
Korak 3) Ustvarite novo datoteko. Ta datoteka bo vsebovala vse konfiguracije log4j
- Z desno miškino tipko kliknite src -> Novo -> Drugo -> Splošno -> Datoteka
- Dajte ime datoteke kot "log4j.properties"
- Kliknite Dokončaj
Ustvarite še dve datoteki in jim dajte imena, kot sta Selenium.logs in Manual.logs. Te datoteke bodo vsebovale vse dnevnike, ki jih ustvarijo sistemski in ročno zabeleženi stavki
Korak 4) V log4j.properties kopirajte celotno konfiguracijo.
5. korak) Ustvarite glavni razred:
- Z desno miškino tipko kliknite privzeti paket -> Novo -> Razred
- Vnesite ime predavanja in kliknite na zaključek
Korak 6) Kopirajte naslednjo kodo v glavni razred
uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.apache.log4j.Logger;javni razred LoggingDemo {/ *** @param args* /public static void main (String [] args) {// TODO Samodejno ustvarjena škrbina metodeGonilnik WebDriver = novi FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("odpiranje spletnega mesta");driver.manage (). timeouts (). implicitnoWait (20, TimeUnit.SECONDS);log.debug ("vnos teže");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("izbira kilogramov");driver.findElement (By.name ("opt1")). sendKeys ("kilogrami");log.debug ("izbira višine v čevljih");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("izbira višine v palcih");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Klik na izračun");driver.findElement (By.name ("cc")). click ();log.debug ("Pridobivanje vrednosti SIUnit");Niz SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Pridobivanje vrednosti USUnit");Niz USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Pridobivanje vrednosti UKUnit");Niz UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Pridobivanje splošnega opisa");Opomba 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 =" + note);driver.quit ();}}
V zgornji kodi obiščemo http://healthunify.com/bmicculator/in preverimo kalkulator ITM. Vnesena teža je 87 kg in višina 5 čevljev 10 palcev. Skript preveri rezultate v enotah SE, ZDA in UK.
Z uporabo Logger.getLogger ("devpinoyLogger") ustvarimo dnevnike na sistemski ravni
Z metodo log.debug podatke shranjujemo v Manual.log
Korak 7) Zaženite skript. Odprite mesto dnevnikov Ročni in Selen, da preverite podatke beleženja.
Kako lahko orodje LogExpert uporabimo za analizo dnevnikov
- Prenesite orodje s spletnega mesta http://logexpert.codeplex.com/. Pojdite v mapo za prenos LogExpert
- Odprite LogExpert.exe
- Kliknite Datoteka -> Odpri in poiščite pot, kjer so shranjene datoteke Manual.log in Selenium.log. Izberite datoteko
- Izberite možnost "Sledite repu"
Če izberete možnost follow tail, omogočite sledenje dnevnikov, kar pomeni, da LogExpert samodejno posodobi datoteko dnevnika, ko je skript v fazi izvajanja. Če uporabljamo kateri koli drug urejevalnik, kot je beležnica, moramo datoteko znova in znova zapreti in znova odpreti, da posodobimo dnevnike. Toda z ExpertTool v načinu sledenja repom to ni potrebno.
Na naslednjih slikah je prikazana postavitev dnevnikov
Z orodjem LogExpert lahko odpravite napake v dnevnikih, ki jih ustvari spletni gonilnik selenium, kot je mogoče v tem orodju.
- poiščite poljubno besedilo in regularni izraz,
- ustvarite zaznamek in jih komentirajte, prav tako lahko krmarite med zaznamki, kar ni mogoče v nobenem drugem orodju,
- Filtrirajte dnevnike in poiščite obsege besedila in lahko uporabite tudi drug filter za prejšnje filtrirane dnevnike,
- Označite drugačno vrstico glede na nekatere besede.
To orodje pomaga tudi pri razdelitvi podatkov na različne stolpce.