Cara Menggunakan Log4j di Selenium?

โšก Ringkasan Cerdas

Masuk4j Selenium cepat dan fleksibel Java Kerangka kerja pencatatan (logging) yang merekam detail alur skrip otomatisasi. Kerangka kerja ini mendukung berbagai level log, appender, dan layout, serta cocok dipadukan dengan LogExpert untuk menganalisis file log yang dihasilkan.

  • ๐Ÿ”˜ Komponen: Log4j dibangun di sekitar Logger, Appender, dan Layout yang bersama-sama menangkap, mengarahkan, dan memformat peristiwa log untuk Selenium Proyek otomatisasi.
  • โ˜‘๏ธ Tingkat Log: Tujuh level (ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF) mengontrol seberapa detail informasi yang direkam selama eksekusi skrip dan proses debugging.
  • โœ… Penambah: ConsoleAppender, FileAppender, dan RollingFileAppender menentukan apakah entri log akan masuk ke konsol, file statis, atau serangkaian file yang berganti-ganti.
  • ๐Ÿงช Konfigurasi: Berkas log4j.properties mendefinisikan logger root dan aplikasi, jalur berkas, ukuran berkas maksimum, indeks cadangan, dan aturan pemformatan PatternLayout.
  • ๏ธ Penampil LogExpert: Alat LogExpert gratis ini mengikuti Selenium dan file log manual secara real-time, dengan fitur penyaringan, penandaan, penyorotan, dan tampilan multi-tab.

Cara Menggunakan Log4j di Selenium

Apa itu Log4j Selenium?

Log4j adalah kerangka kerja pencatatan (API) yang cepat, fleksibel, dan andal yang ditulis dalam Java dan dikembangkan pada awal tahun 1996. Distribusinya berada di bawah naungan Apache Lisensi Perangkat Lunak. Log4j telah diporting ke bahasa C, C++, C#, Perl, Python, Ruby, dan bahasa Eiffel. Ini adalah alat yang digunakan untuk skala kecil hingga besar. Selenium Proyek otomatisasi.

Mengapa menggunakan Log4j?

Log4j menawarkan beberapa manfaat praktis untuk Selenium proyek:

  • Ini adalah sumber terbuka.
  • Dengan Log4j, dimungkinkan untuk menyimpan detail alur dari Selenium otomatisasi dalam file atau basis data.
  • Log4j cocok untuk proyek besar maupun kecil.
  • Dalam Log4j, pernyataan log menggantikan pernyataan System.out.println dalam kode untuk mengetahui status proyek saat sedang dieksekusi.

Komponen Log4j

Komponen Log4j

Penebang

Logger bertanggung jawab untuk mencatat informasi. Untuk mengimplementasikan logger dalam sebuah proyek, langkah-langkah berikut perlu dilakukan.

Buat sebuah instance untuk kelas Logger.

Kelas Logger adalah sebuah JavaUtilitas berbasis Log4j yang memiliki semua metode generik yang sudah diimplementasikan untuk menggunakannya.

Tentukan tingkat Log4j

Pada dasarnya ada tujuh jenis level logaritma:

  1. SEMUA โ€“ Tingkat pencatatan ini merekam semuanya (mengaktifkan semua log).
  2. DEBUG โ€“ mencetak informasi debugging dan berguna dalam tahap pengembangan.
  3. INFO โ€“ mencetak pesan informatif yang menyoroti perkembangan aplikasi.
  4. PERINGATAN โ€“ mencetak informasi mengenai perilaku sistem yang salah dan tidak terduga.
  5. ERROR โ€“ menampilkan pesan kesalahan yang mungkin memungkinkan sistem untuk melanjutkan.
  6. FATAL โ€“ mencetak informasi penting sistem yang menyebabkan aplikasi mengalami kerusakan.
  7. NONAKTIF โ€“ Tidak ada pencatatan.

Penambah

Appender digunakan untuk mengirimkan LogEvents ke tujuannya. Appender menentukan apa yang akan terjadi dengan informasi log. Sederhananya, Appender menulis log ke dalam sebuah file. Berikut adalah beberapa jenis Appender:

  1. ConsoleAppender mencatat log ke output standar.
  2. FileAppender mencetak log ke file tertentu.
  3. RollingFileAppender menulis ke file dengan ukuran maksimum.

Catatan: Di dalam file log4j.properties, sebuah appender dapat dipanggil dengan nama apa pun. Ada appender lain juga, tetapi fokus di sini adalah pada beberapa appender tersebut.

layout

Layout bertanggung jawab untuk memformat informasi pencatatan dalam berbagai gaya.

Kelas Logger menyediakan berbagai metode untuk menangani aktivitas pencatatan (logging). Kelas ini menyediakan dua metode statis untuk mendapatkan objek Logger.

public static Logger getRootLogger()
public static Logger getLogger(String name)

Bagaimana cara mengkonfigurasi Log4j?

Untuk mengkonfigurasi Log4j, tentukan appender mana yang akan diimplementasikan. Parameter appender akan diatur sesuai dengan pilihan tersebut.

  • Gunakan level DEBUG dan RollingFileAppender.
  • Dua konfigurasi atau log dibuat:
    • Pertama: sebuah root logger, yang menulis semua log yang dihasilkan sistem ke dalam sebuah file bernama Selenium.log.
    • Kedua: sebuah pencatat aplikasi, yang menulis informasi yang dihasilkan oleh perintah manual dalam kode ke dalam file bernama Manual.logs.
  • Tata letak yang digunakan adalah PatternLayout.

#Pencatat akar

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

#Log Aplikasi

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

Pada contoh di atas, Log4j dikonfigurasi untuk mencatat ke dalam dua file berbeda yang bernama Selenium.log dan Manual.log.

  • file dan dest1 adalah dua pengidentifikasi.
  • โ€œFileโ€ digunakan untuk memberikan nama file tempat log disimpan.
  • โ€œmaxFileSizeโ€ digunakan untuk mengkonfigurasi ukuran maksimum file log. Ketika file mencapai ukuran ini, file baru akan dibuat dengan nama yang sama, dan nama file lama akan diberi akhiran indeks.
  • โ€œmaxBackupIndexโ€ digunakan untuk mengkonfigurasi jumlah maksimum file yang akan dicadangkan.
  • "tata letak" digunakan untuk mengatur format file log.
  • โ€œAppendโ€ digunakan untuk mengatur fungsi penambahan data. Jika diatur ke false, file baru akan dibuat setiap kali, bukan menggunakan kembali file lama untuk pencatatan log.

Bagaimana Log4j digunakan dalam sebuah skrip?

Dalam kode tersebut, โ€œlogโ€ digunakan sebagai variabel referensi yang merujuk pada metode getLogger dari kelas Logger.

Logger log = Logger.getLogger("devpinoyLogger");

Gunakan variabel referensi โ€œlogโ€ dan metode debug untuk mencatat informasi yang dibutuhkan.

log.debug("--information--");

Apa itu alat LogExpert?

LogExpert adalah sebuah alat dengan karakteristik sebagai berikut:

  1. LogExpert adalah sebuah Windows Alat yang dikembangkan untuk memantau log.
  2. Ini adalah penampil log yang gratis dan sumber terbuka.
  3. Ini adalah alat analisis log dengan berbagai fitur seperti pencarian, penyaringan, penandaan, dan penyorotan log.
  4. Berkas log akan diperbarui secara otomatis saat dibuka di alat ini.
  5. Beberapa file log dapat dibuka di tab yang berbeda.
  6. Komentar dapat ditambahkan ke bookmark, dan tombol pintasan digunakan untuk berpindah antar bookmark yang berbeda. Daftar bookmark lengkap tersedia untuk navigasi.
  7. Pintasan untuk alat ini diberikan dalam file bantuan sehingga dapat dirujuk sesuai kebutuhan.

Cara menggunakan Log4j di Selenium

Langkah 1) In EclipseBuat proyek baru dengan nama log4j_demo.

Gunakan Log4j Masuk Selenium

Langkah 2) Klik kanan pada src -> Build Path -> Configure Build Path.

Gunakan Log4j Masuk Selenium

Langkah 3) Klik pada Libraries dan tambahkan library Log4j. Library ini dapat diunduh dari [tautan unduhan]. https://logging.apache.org/log4j/1.2/download.html.

Gunakan Log4j Masuk Selenium

Langkah 4) Buat file baru. File ini berisi semua konfigurasi Log4j.

  1. Klik kanan pada src -> Baru -> Lainnya -> Umum -> Berkas.
  2. Berikan nama file sebagai โ€œlog4j.propertiesโ€.
  3. Klik pada Selesai.

Buat dua file lagi dan beri nama file tersebut. Selenium.logs dan Manual.logs. File-file ini berisi semua log yang dibuat oleh sistem dan pernyataan yang dicatat secara manual.

Gunakan Log4j Masuk Selenium

Langkah 5) Di file log4j.properties, salin seluruh konfigurasi.

Gunakan Log4j Masuk Selenium

Langkah 6) Buat kelas utama:

  1. Klik kanan pada paket default -> Baru -> Kelas.
  2. Beri nama kelas dan klik Selesai.

Gunakan Log4j Masuk Selenium

Langkah 7) Salin kode berikut ke dalam kelas utama.

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();
    }
}

Dalam kode di atas, skrip tersebut mengunjungi https://healthunify.com/bmicalculator/ dan memverifikasi kalkulator BMI. Berat yang dimasukkan adalah 87 KG dan tinggi badan adalah 5 kaki 10 inci. Skrip memeriksa output dalam satuan SI, AS, dan Inggris.

Dengan menggunakan Logger.getLogger(โ€œdevpinoyLoggerโ€), skrip membuat log tingkat sistem. Dengan menggunakan metode log.debug, data disimpan ke dalam Manual.log.

Langkah 8) Jalankan skripnya. Buka lokasi Manual dan Selenium log untuk memeriksa data pencatatan.

Bagaimana alat LogExpert dapat digunakan untuk menganalisis log

  1. Unduh alat dari https://github.com/zarunbal/LogExpert. Buka folder unduhan LogExpert.

    Alat LogExpert Dapat Digunakan Untuk Menganalisis Log

  2. Buka LogExpert.exe.
  3. Klik pada File -> Buka dan telusuri ke jalur tempat Manual.log dan SeleniumFile .log tersimpan. Pilih file tersebut.
  4. Pilih opsi โ€œIkuti ekorโ€.

    Alat LogExpert Dapat Digunakan Untuk Menganalisis Log

    Memilih opsi "Follow tail" memungkinkan pemantauan log secara otomatis, yang berarti LogExpert secara otomatis memperbarui file log saat skrip sedang dieksekusi. Dengan editor lain seperti Notepad, file harus ditutup dan dibuka kembali berulang kali untuk memperbarui log. Dengan LogExpert dalam mode "Follow Tail", hal ini tidak diperlukan.

    Gambar-gambar berikut menunjukkan tata letak kayu gelondongan tersebut.

    Alat LogExpert Dapat Digunakan Untuk Menganalisis Log

    Alat LogExpert Dapat Digunakan Untuk Menganalisis Log

Dengan menggunakan LogExpert, log yang dibuat oleh Selenium WebDriver dapat di-debug. Dengan alat ini, seseorang dapat:

  • Cari teks dan ekspresi reguler apa pun.
  • Buat bookmark dan beri komentar, serta navigasi antar bookmark, yang tidak mungkin dilakukan di alat lain mana pun.
  • Saring log, cari rentang teks, dan terapkan filter lain ke log yang sebelumnya telah disaring.
  • Sorot baris yang berbeda berdasarkan kata-kata tertentu.

Alat ini juga membantu mempartisi data ke dalam kolom yang berbeda.

Pertanyaan Umum Demo Slot

Log4j 1.x telah mencapai akhir masa pakainya pada tahun 2015 dan menggunakan file properti atau XML untuk konfigurasi. Log4j 2.x menawarkan kinerja yang lebih baik, logger asinkron, dukungan lambda, dan peningkatan keamanan setelah patch Log4Shell, menjadikannya pilihan yang direkomendasikan untuk proyek-proyek baru.

Log4j mendukung level log yang dapat dikonfigurasi, output file persisten, pencadangan bergulir, dan pola terstruktur. System.out.println hanya menulis ke konsol dan tidak dapat difilter atau diarsipkan. Log4j membuat Selenium hasil tes lebih mudah untuk diprioritaskan, diaudit, dan direproduksi.

Ya. Asisten AI dapat mengurai output Log4j yang besar, mengelompokkan kegagalan yang berulang, dan mengungkap pola akar penyebab di berbagai masalah. Selenium Mereka menyoroti locator yang tidak stabil, langkah yang lambat, dan tumpukan. tracyaitu, mengubah baris log mentah menjadi item tindakan yang diprioritaskan untuk para insinyur QA.

Platform observabilitas berbasis AI menyerap aliran Log4j, mendeteksi anomali secara real-time, dan memprediksi kegagalan sebelum berdampak pada pengguna. Model pembelajaran mesin menilai tingkat keparahan, menghilangkan duplikasi peristiwa yang bising, dan memicu peringatan cerdas, menggantikan alur kerja grep manual dengan pemantauan proaktif.

Tidak. LogExpert adalah perangkat lunak gratis yang populer. Windows Viewer dengan fitur tail-follow dan filtering, tetapi alternatifnya termasuk BareTail, glogg, Klogg, dan platform lengkap seperti Splunk, Graylogatau tumpukan ELK untuk analisis terpusat di banyak mesin.

Ringkaslah postingan ini dengan: