Hva er Log4j?
Log4j er et raskt, fleksibelt og pålitelig rammeverk for logging (APIS) skrevet i Java utviklet tidlig i 1996. Det distribueres under Apache Software License. Log4J har blitt portet til språkene C, C ++, C #, Perl, Python, Ruby og Eiffel. Det er et verktøy som brukes til små og store Selenium Automation-prosjekter.
Hvorfor bruke Log4j?
- Det er en åpen kildekode
- Med Log4j er det mulig å lagre flyddetaljene til Selenium Automation i en fil eller databaser
- Log4j brukes til store så vel som små prosjekter
- I Log4j bruker vi loggutsagn i stedet for SOPL-setninger i koden for å vite statusen til et prosjekt mens det kjøres.
Log4j har tre hovedkomponenter
- Loggere : Det er ansvarlig for loggingsinformasjon. For å implementere loggere i et prosjekt må følgende trinn utføres -
- Opprett en forekomst for loggerklasse : Logger-klasse er et Java-basert verktøy som har fått alle de generiske metodene allerede implementert for å bruke log4j
- Definer Log4j-nivået : Det er primært fem typer loggnivåer
- Alt - Dette loggnivået logger alt (det slår alle loggene på)
- DEBUG - skriv ut feilsøkingsinformasjonen og er nyttig i utviklingsfasen
- INFO - skriv ut informasjonsmelding som fremhever progresjonen til applikasjonen
- ADVARSEL - skriv ut informasjon om feil og uventet systematferd.
- FEIL - skriv ut feilmelding som kan tillate at systemet fortsetter
- FATAL - skriv ut kritisk informasjon fra systemet som får applikasjonen til å krasje
- AV - Ingen logging
- Appenders : Den brukes til å levere LogEvents til destinasjonen. Det bestemmer hva som skal skje med logginformasjon. I enkle ord brukes den til å skrive loggene i filen. Følgende er få typer Appenders
- ConsoleAppender logger på standard utdata
- File appender skriver ut logger til noen filer
- Rolling file appender til en fil med maksimal størrelse
Merk: I log4j-egenskaper kan vi ringe appender med hvilket som helst navn. Det er andre appenders også, men vi vil begrense til disse få.
- Oppsett : Det er ansvarlig for formatering av loggingsinformasjon i forskjellige stiler.
Logger-klassen gir forskjellige metoder for å håndtere loggaktiviteter. Den gir to statiske metoder for å skaffe et loggerobjekt.
Offentlig statisk logger getRootLogger ()Offentlig statisk logger getLogger (strengnavn)
Hvordan log4j er konfigurert?
For å konfigurere log4j må vi bestemme hvilken appender vi skal implementere. Følgelig vil parametere for appender bli satt.
- Vi bruker DEBUG-nivå og RollingFileAppender
- Vi vil gjøre to konfigurasjoner eller logger,
- Først: rotlogger, som vil skrive alle systemgenererte logger i filnavn, dvs. Selenium.logs
- For det andre: Skriver informasjonen generert av manuelle kommandoer i kode inn i filnavnet - Manual.logs
- Oppsettet vil være mønsteroppsett
#Root logger
log4j.rootLogger = DEBUG, fillog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selen.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 / åååå HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false
I eksemplet ovenfor har vi konfigurert log4j til å logge inn to forskjellige filer som heter Selenium.log og Manual.log.
- file og dest1 er de to identifikatorene.
- "File" brukes til å gi filnavnet der loggene skal lagres
- "maxFileSize" brukes til å konfigurere maksimal størrelse på loggfilen. Når filen når denne størrelsen, opprettes en ny fil med samme navn, og det gamle filnavnet blir lagt til som en indeks til den.
- "maxBackupIndex" brukes til å konfigurere maksimalt antall filer som skal sikkerhetskopieres.
- "layout" brukes til å stille formatet på loggfilen.
- "Append" brukes til å stille inn append-funksjon. Hvis den er satt til falsk, vil hver gang en ny fil blir opprettet i stedet for gammel fil, brukes til logging
Hvordan brukes log4j i skriptet?
I kode har vi brukt "logg" som en referansevariabel som refererer til getLogger-metoden til Logger Class
Logger log = Logger.getLogger ("devpinoyLogger");
Bruk "logg" refererende variabel og feilsøkingsmetode for å logge informasjonen vi ønsker.
log.debug ("- informasjon--");
Hva er et LogExpert-verktøy?
- LogExpert-verktøyet er et verktøy for Windows utviklet for å hale loggene
- Det er gratis og åpen kildekodelogg.
- Det er et verktøy for logganalyse med flere funksjoner som å søke, filtrere, legge til bokmerker og markere loggene
- I denne verktøyloggene oppdateres filer automatisk når de åpnes
- I dette verktøyet kan vi åpne flere loggfiler i forskjellige faner
- Vi kan også legge inn kommentarer til bokmerker, og det er hurtigtasten for å navigere mellom forskjellige bokmerker. Vi kan også se en fullstendig bokmerkeliste og navigere derfra
- Snarveier til verktøyet er gitt i hjelpefilen slik at de kan henvises til verktøyet.
Fremgangsmåte for å bruke Log4j med Selen
Trinn 1) I Eclipse oppretter du et nytt prosjekt med navnet log4j_demo
Trinn 2) Høyreklikk på src -> Build Path -> Configure Build Path
Trinn 2) Klikk på Biblioteker og legg til Log4J-bibliotek. Du kan laste den ned fra https://logging.apache.org/log4j/1.2/download.html
Trinn 3) Opprett en ny fil. Denne filen inkluderer all log4j-konfigurasjon
- Høyreklikk på src -> Ny -> Annet -> Generelt -> Fil
- Gi filnavnet som "log4j.properties"
- Klikk på Fullfør
Opprett to filer til og gi dem navn som Selenium.logs og Manual.logs. Disse filene inneholder alle loggene som er opprettet av systemet og manuelt loggede uttalelser
Trinn 4) Kopier hele konfigurasjonen i log4j.properties.
Trinn 5) Opprett hovedklasse:
- Høyreklikk på standardpakken -> Ny -> Klasse
- Gi kursnavnet og klikk på ferdig
Trinn 6) Kopier følgende kode inn til hovedklassen
importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.firefox.FirefoxDriver;importer org.apache.log4j.Logger;offentlig klasse LoggingDemo {/ *** @param argumenterer* /public static void main (String [] args) {// TODO Auto-generert metodestubWebDriver-driver = ny FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("åpning av webiste");driver.manage (). timeouts (). implicitWait (20, TimeUnit.SECONDS);log.debug ("entring weight");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("velge kilo");driver.findElement (By.name ("opt1")). sendKeys ("kilogram");log.debug ("velge høyde i fot");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("velge høyde i tomme");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Klikk på beregne");driver.findElement (By.name ("cc")). klikk ();log.debug ("Få SIUnit-verdi");Streng SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Få USUnit-verdi");Streng USUnit = driver.findElement (By.name ("oss")). GetAttribute ("verdi");log.debug ("Få UKUnit-verdi");String UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Få samlet beskrivelse");Strengnote = 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 ();}}
I ovennevnte kode besøker vi http://healthunify.com/bmicalculator/ og verifiserer BMI-kalkulator. Vekten som er angitt er 87 kg og høyden er 5 fot 10 inches. Skriptet sjekker utdataene i SE, USA og UK-enheter.
Ved hjelp av Logger.getLogger ("devpinoyLogger") lager vi logger på systemnivå
Ved hjelp av log.debug-metoden lagrer vi data i Manual.log
Trinn 7) Kjør skriptet. Åpne plasseringen av Manuelle og Selen-logger for å sjekke loggdata.
Hvordan LogExpert-verktøy kan brukes til å analysere logger
- Last ned verktøyet fra http://logexpert.codeplex.com/. Gå til LogExpert nedlastingsmappe
- Åpne LogExpert.exe
- Klikk på Fil -> Åpne og bla til banen der Manual.log- og Selenium.log-filer er lagret. Velg filen
- Velg alternativet "Følg halen"
Ved å velge follow tail alternativet kan du logge på logger, noe som betyr at LogExpert automatisk oppdaterer loggfilen når skriptet er i utførelsesfasen. Hvis vi bruker en annen editor som notisblokk, må vi lukke og åpne filen igjen og igjen for å oppdatere loggene. Men med ExpertTool i Follow Tail Mode er dette ikke nødvendig.
Følgende bilder viser utformingen av loggene
Ved hjelp av LogExpert-verktøyet kan man feilsøke logger opprettet av selen webdriver som i dette verktøyet en gang kan
- søk etter tekst og regulært uttrykk,
- lage bokmerke og kommentere dem, og kan også navigere mellom bokmerker som ikke er mulig i noe annet verktøy,
- Filtrer loggene og søk etter tekstområder, og kan også bruke et annet filter på de forrige filtrerte loggene,
- Fremhev annen linje basert på noen bestemte ord.
Dette verktøyet hjelper også til å dele dataene i forskjellige kolonner.