Logi4j sisse Selenium: Log4j atribuutide faili allalaadimine ja kasutamine
Mis on Log4j sees Selenium?
Log4j on kiire, paindlik ja usaldusvรครคrne logimisraamistik (APIS), mis on sisse kirjutatud Java vรคlja tรถรถtatud 1996. aasta alguses. Seda levitatakse all Apache Tarkvara litsents. Log4J on porditud C-le, C++, C#, Perl, Python, Rubiini ja Eiffeli keeled. See on tรถรถriist, mida kasutatakse vรคikeste ja suuremahuliste jaoks Selenium Automatiseerimisprojektid.
Miks kasutada Log4j?
- Tegemist on avatud lรคhtekoodiga
- Log4j abil on vรตimalik salvestada meie voo รผksikasju Selenium Automatiseerimine failis vรตi andmebaasides
- Log4j kasutatakse nii suurte kui ka vรคikeste projektide jaoks
- Rakenduses Log4j kasutame koodis pigem logilauseid kui SOPL-lauseid, et teada saada projekti olekut selle tรคitmise ajal
Log4j komponendid
Raieraidurid
Ta vastutab teabe logimise eest. Logijate rakendamiseks projekti tuleb teha jรคrgmised sammud
Looge logija klassi eksemplar
Raietรถรถ klass on a Java-pรตhine utiliit, millel on log4j kasutamiseks kรตik รผldised meetodid juba juurutatud
Mรครคrake Log4j tase
Peamiselt on olemas viit tรผรผpi logitasemeid
- Kรตik โ see logimise tase logib kรตik (see lรผlitab kรตik logid sisse)
- SILUMINE โ prindib silumisinfo ja on abiks arendusetapis
- INFO โ printige infoteade, mis tรตstab esile rakenduse edenemise
- HOIATUS โ printige teavet sรผsteemi vigase ja ootamatu kรคitumise kohta.
- ERROR โ printige veateade, mis vรตib lubada sรผsteemil jรคtkata
- FATAL โ printige sรผsteemile oluline teave, mis pรตhjustab rakenduse krahhi
- VรLJAS โ logimist ei toimu
Lisandid
Seda kasutatakse LogEventsi sihtkohta toimetamiseks. See otsustab, mis logiteabega juhtub. Lihtsamalt รถeldes kasutatakse seda logide faili kirjutamiseks. Jรคrgnevalt on toodud mรตned lisade tรผรผbid
- ConsoleAppender logib standardvรคljundisse
- Faililiide prindib mรตne faili logid
- Veerev faili lisand maksimaalse suurusega failile
Mรคrge: Log4j atribuutides saame nimetada appenderit mis tahes nimega. On ka teisi lisasid, kuid piirdume nende vรคhestega.
paigutusega
See vastutab logiteabe vormindamise eest erinevates stiilides.
Logger klass pakub erinevaid meetodeid logimistoimingute kรคsitlemiseks. See pakub logiobjekti hankimiseks kahte staatilist meetodit.
Public static Logger getRootLogger() Public static Logger getLogger(String name)
Kuidas log4j on konfigureeritud?
Log4j seadistamiseks peame otsustama, millist lisat rakendada. Vastavalt sellele mรครคratakse lisa parameetrid.
- Kasutame DEBUG taset ja RollingFileAppenderit
- Teeme kaks konfiguratsiooni vรตi logi,
- Esiteks: juur logija, mis kirjutab kรตik sรผsteemi loodud logid failinimesse, st Selenium.logid
- Teiseks: kirjutab kรคsitsi kรคskudega genereeritud teabe koodina failinimesse Manual.logs
#Juurte logija
log4j.rootLogger=DEBUG,file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\Guru99\\src\\Selenium.logs
log4j.appender.file.maxFileSize=900KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c<strong>{1}</strong>:%L - %m%n
log4j.appender.file.Append=false
#Rakenduste logid
log4j.logger.devpinoyLogger=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.RollingFileAppender
log4j.appender.dest1.maxFileSize=900KB
log4j.appender.dest1.maxBackupIndex=6
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
log4j.appender.dest1.File=D:\\ Guru99\\src\\Manual.logs
log4j.appender.dest1.Append=false
รlaltoodud nรคites oleme konfigureerinud log4j logima sisse kahte erinevat faili nimega as Selenium.log ja Manual.log.
- fail ja dest1 on kaks identifikaatorit.
- "Faili" kasutatakse failinime andmiseks, millesse logid salvestatakse
- "maxFileSize" kasutatakse logifaili maksimaalse suuruse konfigureerimiseks. Kui fail saavutab selle suuruse, luuakse uus sama nimega fail ja vana failinimi lisatakse sellele indeksina.
- "maxBackupIndex" kasutatakse varundatavate failide maksimaalse arvu konfigureerimiseks.
- โPaigutustโ kasutatakse logifaili vormingu mรครคramiseks.
- Lisamisfunktsiooni mรครคramiseks kasutatakse "Lisa". Kui see on seatud vรครคrtusele Vรครคr, luuakse iga kord uus fail, mitte ei kasutata logimiseks vana faili
Kuidas log4j-d skriptis kasutatakse?
Koodis oleme kasutanud โlogiโ viitemuutujana, mis viitab Logger Classi meetodile getLogger
Logger log = Logger.getLogger("devpinoyLogger");
Soovitud teabe logimiseks kasutage "logi" viitavat muutujat ja silumismeetodit.
log.debug("--information--");
Mis on LogExpert tรถรถriist?
- LogExpert tรถรถriist on tรถรถriist Windows arendatud palkide sabaks
- See on tasuta ja avatud lรคhtekoodiga logivaatur.
- See on logianalรผรผsi tรถรถriist, millel on mitu funktsiooni, nagu otsimine, filtreerimine, jรคrjehoidjate lisamine ja logide esiletรตstmine
- Selle tรถรถriista logides vรคrskendatakse faile avamisel automaatselt
- Selles tรถรถriistas saame avada mitu logifaili erinevatel vahekaartidel
- Samuti saame jรคrjehoidjatele lisada kommentaare ja erinevate jรคrjehoidjate vahel liikumiseks on kiirklahv. Nรคeme ka tรคielikku jรคrjehoidjate loendit ja navigeerime sealt
- Tรถรถriista otseteed on toodud abifailis, et neid saaks tรถรถriistale viidata.
Kuidas kasutada Log4j-d sisse Selenium
Step 1) In Eclipse looge uus projekt nimega log4j_demo
Step 2) Paremklรตpsake src -> Ehitamise tee -> Konfigureeri ehitustee
Step 3) Klรตpsake Teegid ja Lisa Log4J teek. Saate selle alla laadida aadressilt https://logging.apache.org/log4j/1.2/download.html
Step 4) Looge uus fail. See fail sisaldab kogu log4j konfiguratsiooni
- Paremklรตpsake src -> Uus -> Muu -> รldine -> Fail
- Andke faili nimeks "log4j.properties"
- Klรตpsake nuppu Lรตpeta
Looge veel kaks faili ja andke neile nimed, nรคiteks Selenium.logs ja Manual.logs. Need failid sisaldavad kรตiki sรผsteemi loodud logisid ja kรคsitsi logitud avaldusi
Step 5) Kopeerige kogu konfiguratsioon failis log4j.properties.
Step 6) Loo pรตhiklass:
- Paremklรตpsake vaikepaketil -> Uus -> Klass
- Andke klassi nimi ja klรตpsake nuppu Lรตpeta
Step 7) Kopeerige jรคrgmine kood pรตhiklassi
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.apache.log4j.Logger;
public class LoggingDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver = new FirefoxDriver();
Logger log = Logger.getLogger("devpinoyLogger");
driver.get("https://healthunify.com/bmicalculator/");
log.debug("opening webiste");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
log.debug("entring weight");
driver.findElement(By.name("wg")).sendKeys("87");
log.debug("selecting kilograms");
driver.findElement(By.name("opt1")).sendKeys("kilograms");
log.debug("selecting height in feet");
driver.findElement(By.name("opt2")).sendKeys("5");
log.debug("selecting height in inchs");
driver.findElement(By.name("opt3")).sendKeys("10");
log.debug("Clicking on calculate");
driver.findElement(By.name("cc")).click();
log.debug("Getting SIUnit value");
String SIUnit = driver.findElement(By.name("si")).getAttribute("value");
log.debug("Getting USUnit value");
String USUnit = driver.findElement(By.name("us")).getAttribute("value");
log.debug("Getting UKUnit value");
String UKUnit = driver.findElement(By.name("uk")).getAttribute("value");
log.debug("Getting overall description");
String note = 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();
}
}
รlaltoodud koodis kรผlastame https://healthunify.com/bmicalculator/ ja kontrollige KMI kalkulaatorit. Sisestatud kaal on 87 kg ja kรตrgus 5 jalga 10 tolli. Skript kontrollib vรคljundit SE, USA ja รhendkuningriigi รผhikutes.
Kasutades Logger.getLoggeri(โdevpinoyLoggerโ) loome sรผsteemitaseme logisid
Kasutades meetodit log.debug, salvestame andmed Manual.logi
Step 8) Kรคivitage skript. Avage Manual ja Selenium logid logiandmete kontrollimiseks.
Kuidas saab LogExperti tรถรถriista kasutada logide analรผรผsimiseks
- Laadige tรถรถriist alla aadressilt https://github.com/zarunbal/LogExpert . Minge LogExperti allalaadimiskausta
- Avage LogExpert.exe
- Klรตpsake Fail -> Ava ja sirvige teed, kus Manual.log ja Selenium.log failid salvestatakse. Valige fail
- Valige suvand "Jรคlgi saba".
Jรคlgimissaba suvandi valimine vรตimaldab logide sabatamist, mis tรคhendab, et LogExpert vรคrskendab logifaili automaatselt, kui skript on tรคitmisfaasis. Kui kasutame mรตnda muud redaktorit, nรคiteks notepadi, peame logide vรคrskendamiseks faili ikka ja jรคlle sulgema ja uuesti avama. Kuid ExpertTool'iga Follow Tail reลพiimis pole see vajalik.
Jรคrgmistel piltidel on nรคha logide paigutus
Tรถรถriista LogExpert kasutades saab siluda seleeni veebidraiveri loodud logisid, nagu selle tรถรถriista puhul kunagi
- otsige mis tahes teksti ja regulaaravaldist,
- saate luua jรคrjehoidjaid ja kommenteerida neid ning navigeerida jรคrjehoidjate vahel, mis pole รผhegi teise tรถรถriistaga vรตimalik,
- Filtreerige logisid ja otsige tekstivahemikke ning saate varasematele filtreeritud logidele rakendada ka teist filtrit,
- Tรตstke esile mรตni teatud sรตna pรตhjal erinev rida.
See tรถรถriist aitab ka andmeid jagada erinevatesse veergudesse.











