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.

  • 🔘 Alkatrészek: A Log4j naplózók, hozzáfűzők és elrendezések köré épül, amelyek együttesen rögzítik, irányítják és formázzák a naplóeseményeket a következőkhöz: Selenium automatizálási projektek.
  • ☑️ Naplózási szintek: Hét szint (MIND, HIBAKERESÉS, INFO, FIGYELMEZTETÉS, HIBA, VÉGZETES, KI) szabályozza, hogy mennyi részlet kerüljön rögzítésre a szkript végrehajtása és a hibakeresés során.
  • Függelékek: A ConsoleAppender, a FileAppender és a RollingFileAppender dönti el, hogy a naplóbejegyzések a konzolra, egy statikus fájlba vagy egy gördülő fájlkészletbe kerüljenek.
  • 🧪 Konfiguráció: A log4j.properties fájl a root és az alkalmazás naplózóit, a fájlelérési utakat, a maximális fájlméretet, a biztonsági mentési indexet és a PatternLayout formázási szabályokat határozza meg.
  • 🇧🇷 LogExpert Viewer: Az ingyenes LogExpert eszköz farkai Selenium és manuális naplófájlok valós időben, szűréssel, könyvjelzővel, kiemeléssel és több lapon történő megtekintéssel.

Hogyan használjuk a Log4j-t? Selenium

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

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:

  1. MIND – Ez a naplózási szint mindent rögzít (bekapcsolja az összes naplót).
  2. DEBUG – hibakeresési információkat nyomtat ki, és hasznos a fejlesztési szakaszban.
  3. INFO – tájékoztató üzeneteket nyomtat, amelyek kiemelik az alkalmazás előrehaladását.
  4. WARN – információkat nyomtat a hibás és váratlan rendszerviselkedésről.
  5. HIBA – olyan hibaüzeneteket nyomtat, amelyek lehetővé tehetik a rendszer folytatását.
  6. VÉGZETES – kiírja azokat a rendszerkritikus információkat, amelyek az alkalmazás összeomlását okozzák.
  7. 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:

  1. A ConsoleAppender a szabványos kimenetre naplózza a folyamatot.
  2. A FileAppender egy adott fájlba nyomtatja ki a naplókat.
  3. 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:

  1. A LogExpert egy Windows rönkök farkának vágására kifejlesztett eszköz.
  2. Ez egy ingyenes és nyílt forráskódú naplómegjelenítő.
  3. 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.
  4. A naplófájlok automatikusan frissülnek, amikor megnyitják őket ebben az eszközben.
  5. Több naplófájl is megnyitható különböző lapokon.
  6. 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.
  7. 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.

Használja a Log4j In-t Selenium

Step 2) Jobb klikk a src-en -> Build Path -> Build Path konfigurálása.

Használja a Log4j In-t Selenium

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.

Használja a Log4j In-t Selenium

Step 4) Hozz létre egy új fájlt. Ez a fájl tartalmazza az összes Log4j konfigurációt.

  1. Jobb klikk a src-re -> Új -> Egyéb -> Általános -> Fájl.
  2. Adja meg a fájl nevét „log4j.properties” formátumban.
  3. 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.

Használja a Log4j In-t Selenium

Step 5) A log4j.properties fájlban másolja a teljes konfigurációt.

Használja a Log4j In-t Selenium

Step 6) Hozd létre a fő osztályt:

  1. Jobb klikk az alapértelmezett csomagon -> Új -> Osztály.
  2. Adj nevet az osztálynak, és kattints a Befejezés gombra.

Használja a Log4j In-t Selenium

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

  1. Töltse le az eszközt innen https://github.com/zarunbal/LogExpertNyissa meg a LogExpert letöltési mappáját.

    A LogExpert eszköz használható a naplók elemzésére

  2. Nyissa meg a LogExpert.exe fájlt.
  3. 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.
  4. Válaszd a „Fogadd a farkat” lehetőséget.

    LogExpert eszköz használható a napló elemzésére

    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.

    LogExpert eszköz használható a napló elemzésére

    LogExpert eszköz használható a napló elemzésére

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.

GYIK

A Log4j 1.x 2015-ben elérte élettartamának végét, és tulajdonságokat vagy XML fájlt használ a konfigurációhoz. A Log4j 2.x jobb teljesítményt, aszinkron naplózókat, lambda támogatást és fokozott biztonságot kínál a Log4Shell javítások után, így az új projektekhez ajánlott választás.

A Log4j támogatja a konfigurálható naplózási szinteket, az állandó fájlkimenetet, a gördülő biztonsági mentéseket és a strukturált mintákat. A System.out.println csak a konzolra ír, és nem szűrhető vagy archiválható. A Log4j lehetővé teszi a következőket: Selenium a teszteredmények könnyebben osztályozhatók, auditálhatók és reprodukálhatók.

Igen. A mesterséges intelligencia asszisztensei képesek elemezni a nagyméretű Log4j kimenetet, klaszterezni az ismétlődő hibákat, és felszínre hozni a kiváltó ok mintázatait. Selenium fut. Kiemelik a bizonytalan helymeghatározókat, a lassú lépéseket és a halmozott traces, a nyers naplósorok prioritást élvező teendőkké alakítása a minőségbiztosítási mérnökök számára.

A mesterséges intelligencia által vezérelt megfigyelhetőségi platformok beolvassák a Log4j streameket, valós időben észlelik az anomáliákat, és előrejelzik a hibákat, mielőtt azok hatással lennének a felhasználókra. A gépi tanulási modellek pontozzák a súlyosságot, deduplikálják a zajos eseményeket, és intelligens riasztásokat indítanak el, a manuális grep munkafolyamatokat proaktív monitorozással helyettesítve.

Nem. A LogExpert egy népszerű ingyenes Windows néző farokkövetéssel és szűréssel, de alternatívák lehetnek a BareTail, a glogg, a Klogg és a teljes platformok, mint például a Splunk, Graylog, vagy az ELK verem a központosított elemzéshez számos gépen.

Foglald össze ezt a bejegyzést a következőképpen: