Hogyan használjuk a Log4j-t? Selenium?
⚡ Okos összefoglaló
Jelentkezzen be Selenium gyors, rugalmas Java naplózási keretrendszer, amely rögzíti az automatizálási szkriptek folyamatának részleteit. Több naplózási szintet, hozzáfűzőt és elrendezést támogat, és jól együttműködik a LogExperttel a létrehozott naplófájlok elemzéséhez.
Miben van a Log4j? Selenium?
A Log4j egy gyors, rugalmas és megbízható naplózási keretrendszer (API), amely a következő nyelven íródott: Java és 1996 elején fejlesztették ki. A forgalmazása a Apache Szoftverlicenc. A Log4j portolása C nyelvre történt. C++, C#, Perl, Python, Ruby és Eiffel nyelveken. Ez egy eszköz, amelyet kis és nagy léptékű alkalmazásokhoz használnak. Selenium automatizálási projektek.
Miért használja a Log4j-t?
A Log4j számos gyakorlati előnnyel jár Selenium projektek:
- Ez nyílt forráskódú.
- A Log4j segítségével lehetőség van a következő áramlási részletek tárolására: Selenium automatizálás egy fájlban vagy adatbázisban.
- A Log4j nagy és kis projektekhez egyaránt használható.
- A Log4j-ben a naplózási utasítások a kódban a System.out.println utasításokat helyettesítik, hogy megismerjék a projekt állapotát végrehajtás közben.
Log4j komponensek
Favágók
A naplózó felelős az információk naplózásáért. A naplózók projektbe való implementálásához a következő lépéseket kell végrehajtani.
Hozz létre egy példányt a Logger osztályhoz
A Logger osztály egy Javaalapú segédprogram, amely már tartalmazza az összes általános metódust a Log4j használatához.
Határozza meg a Log4j szintet
Alapvetően hétféle naplózási szint létezik:
- MIND – Ez a naplózási szint mindent rögzít (bekapcsolja az összes naplót).
- DEBUG – hibakeresési információkat nyomtat ki, és hasznos a fejlesztési szakaszban.
- INFO – tájékoztató üzeneteket nyomtat, amelyek kiemelik az alkalmazás előrehaladását.
- WARN – információkat nyomtat a hibás és váratlan rendszerviselkedésről.
- HIBA – olyan hibaüzeneteket nyomtat, amelyek lehetővé tehetik a rendszer folytatását.
- VÉGZETES – kiírja azokat a rendszerkritikus információkat, amelyek az alkalmazás összeomlását okozzák.
- KI – Nincs naplózás.
Függelékek
Egy Appender függvényt (hozzáfűzőt) használnak a LogEvents események célállomásra juttatására. Ez határozza meg, hogy mi történjen a naplóinformációkkal. Egyszerűen fogalmazva, naplókat ír egy fájlba. Az alábbiakban néhány hozzáfűző típust láthatunk:
- A ConsoleAppender a szabványos kimenetre naplózza a folyamatot.
- A FileAppender egy adott fájlba nyomtatja ki a naplókat.
- A RollingFileAppender egy maximális méretű fájlba ír.
Jegyzet: A log4j.properties fájlban egy hozzáfűző bármilyen néven meghívható. Vannak más hozzáfűzők is, de itt csak ezekre a kevésre koncentrálunk.
elrendezések
Az Elrendezés felelős a naplózási információk különböző stílusokban történő formázásáért.
A Logger osztály különböző metódusokat biztosít a naplózási tevékenységek kezelésére. Két statikus metódust biztosít egy Logger objektum lekéréséhez.
public static Logger getRootLogger()
public static Logger getLogger(String name)
Hogyan van konfigurálva a Log4j?
A Log4j konfigurálásához döntse el, hogy melyik hozzáfűzőt kívánja megvalósítani. A hozzáfűző paramétereit ennek megfelelően kell beállítani.
- Használj DEBUG szintet és RollingFileAppendert.
- Két konfiguráció vagy napló jön létre:
- Először is: egy root naplózó, amely az összes rendszer által generált naplót egy nevű fájlba írja Selenium.naplók.
- Másodszor: egy alkalmazásnaplózó, amely a manuális parancsok által kódban generált információkat a Manual.logs nevű fájlba írja.
- A használt elrendezés a PatternLayout.
#Gyökérnaplózó
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{1}:%L - %m%n
log4j.appender.file.Append=false
#Alkalmazásnaplók
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
A fenti példában a Log4j úgy van konfigurálva, hogy két különböző, a következő nevű fájlba naplózzon: Selenium.log és Manual.log.
- file és dest1 a két azonosító.
- A „Fájl” paraméterrel adhatjuk meg a naplófájlok mentéséhez használt fájlnevet.
- A „maxFileSize” paraméterrel konfigurálható a naplófájl maximális mérete. Amikor a fájl eléri ezt a méretet, egy új fájl jön létre ugyanazzal a névvel, és a régi fájlnév egy index utótagot kap.
- A „maxBackupIndex” paraméterrel konfigurálható a biztonsági mentésre kerülő fájlok maximális száma.
- Az „elrendezés” a naplófájl formátumának beállítására szolgál.
- Az „Append” paraméterrel állíthatjuk be az append függvényt. Ha hamis értékre van állítva, minden alkalommal új fájl jön létre a régi fájl újrahasználata helyett a naplózáshoz.
Hogyan használható a Log4j egy szkriptben?
A kódban a „log” változó referenciaként szolgál, amely a Logger osztály getLogger metódusára hivatkozik.
Logger log = Logger.getLogger("devpinoyLogger");
A szükséges információk naplózásához használd a „log” referenciaváltozót és a debug metódust.
log.debug("--information--");
Mi az a LogExpert eszköz?
A LogExpert egy olyan eszköz, amely a következő tulajdonságokkal rendelkezik:
- A LogExpert egy Windows rönkök farkának vágására kifejlesztett eszköz.
- Ez egy ingyenes és nyílt forráskódú naplómegjelenítő.
- Ez egy naplóelemző eszköz, amely számos funkcióval rendelkezik, például kereséssel, szűréssel, könyvjelzővel és naplók kiemelésével.
- A naplófájlok automatikusan frissülnek, amikor megnyitják őket ebben az eszközben.
- Több naplófájl is megnyitható különböző lapokon.
- A könyvjelzőkhöz megjegyzések fűzhetők, a különböző könyvjelzők között pedig egy gyorsbillentyűvel lehet navigálni. A navigációhoz egy teljes könyvjelzőlista áll rendelkezésre.
- Az eszköz gyorsbillentyűi a súgófájlban találhatók, így szükség esetén hivatkozni lehet rájuk.
Hogyan kell használni a Log4j-t Selenium
Step 1) In Eclipse, hozz létre egy új projektet log4j_demo néven.
Step 2) Jobb klikk a src-en -> Build Path -> Build Path konfigurálása.
Step 3) Kattintson a Könyvtárak elemre, és adja hozzá a Log4j könyvtárat. Letölthető innen: https://logging.apache.org/log4j/1.2/download.html.
Step 4) Hozz létre egy új fájlt. Ez a fájl tartalmazza az összes Log4j konfigurációt.
- Jobb klikk a src-re -> Új -> Egyéb -> Általános -> Fájl.
- Adja meg a fájl nevét „log4j.properties” formátumban.
- Kattintson a Befejezés gombra.
Hozz létre még két fájlt, és nevezd el őket Selenium.logs és Manual.logs fájlok. Ezek a fájlok tartalmazzák a rendszer által létrehozott összes naplót és a manuálisan naplózott utasításokat.
Step 5) A log4j.properties fájlban másolja a teljes konfigurációt.
Step 6) Hozd létre a fő osztályt:
- Jobb klikk az alapértelmezett csomagon -> Új -> Osztály.
- Adj nevet az osztálynak, és kattints a Befejezés gombra.
Step 7) Másold be a következő kódot a fő osztályba.
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 website");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
log.debug("entering 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 inches");
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();
}
}
A fenti kódban a szkript a következőt látogatja meg: https://healthunify.com/bmicalculator/ és ellenőrzi a BMI kalkulátort. A megadott súly 87 kg, a magasság pedig 178 cm. A szkript ellenőrzi a kimenetet SI, amerikai és brit mértékegységekben.
A Logger.getLogger(„devpinoyLogger”) metódus használatával a szkript rendszerszintű naplókat hoz létre. A log.debug metódus használatával az adatok a Manual.log fájlban tárolódnak.
Step 8) Futtassa a szkriptet. Nyissa meg a Manual és a helyét Selenium naplók a naplózási adatok ellenőrzéséhez.
Hogyan használható a LogExpert eszköz a naplók elemzésére
- Töltse le az eszközt innen https://github.com/zarunbal/LogExpertNyissa meg a LogExpert letöltési mappáját.
- Nyissa meg a LogExpert.exe fájlt.
- Kattintson a Fájl -> Megnyitás menüpontra, és keresse meg a Manual.log fájl elérési útját. Selenium.log fájlok vannak tárolva. Jelölje ki a fájlt.
- Válaszd a „Fogadd a farkat” lehetőséget.
A „Folyó követése” kiválasztása engedélyezi a naplók farokba fűzését, ami azt jelenti, hogy a LogExpert automatikusan frissíti a naplófájlt a szkript végrehajtása közben. Bármely más szerkesztővel, például a Jegyzettömbbel a fájlt ismételten be kell zárni és újra kell nyitni a naplók frissítéséhez. A LogExpert „Folyó követése” módban történő használatával erre nincs szükség.
A következő képek a naplók elrendezését mutatják.
A LogExpert segítségével a rendszer által létrehozott naplók Selenium A WebDriver hibakereshető. Ebben az eszközben a következőket lehet tenni:
- Bármilyen szöveg és reguláris kifejezés keresése.
- Könyvjelzőket hozhat létre és kommentelhet rajtuk, valamint navigálhat a könyvjelzők között, ami más eszközökben nem lehetséges.
- Szűrje a naplókat, keressen szövegtartományokat, és alkalmazzon egy másik szűrőt a korábban szűrt naplókra.
- Jelölj ki különböző sorokat bizonyos szavak alapján.
Ez az eszköz segít az adatok különböző oszlopokra történő felosztásában is.












