Apa itu Log4j?
Log4j adalah kerangka kerja logging yang cepat, fleksibel, dan andal (APIS) yang ditulis di Java yang dikembangkan pada awal 1996. Log4j didistribusikan di bawah Lisensi Perangkat Lunak Apache. Log4J telah diporting ke Bahasa C, C ++, C #, Perl, Python, Ruby dan Eiffel. Ini adalah alat yang digunakan untuk proyek Otomasi Selenium skala kecil hingga besar.
Mengapa menggunakan Log4j?
- Ini adalah open source
- Dengan Log4j, Anda dapat menyimpan detail aliran Otomasi Selenium kami dalam file atau database
- Log4j digunakan untuk proyek besar maupun kecil
- Di Log4j, kami menggunakan pernyataan log daripada pernyataan SOPL dalam kode untuk mengetahui status proyek saat sedang dijalankan
Log4j memiliki tiga komponen utama
- Penebang : Bertanggung jawab untuk mencatat informasi. Untuk mengimplementasikan penebang ke dalam proyek, langkah-langkah berikut perlu dilakukan -
- Buat instance untuk kelas logger : Kelas logger adalah utilitas berbasis Java yang telah menerapkan semua metode umum untuk menggunakan log4j
- Tentukan level Log4j : Pada dasarnya, ada lima jenis level log
- Semua - Tingkat logging ini akan mencatat semuanya (mengaktifkan semua log)
- DEBUG - mencetak informasi debugging dan sangat membantu dalam tahap pengembangan
- INFO - mencetak pesan informasi yang menyoroti kemajuan aplikasi
- PERINGATAN - cetak informasi mengenai kesalahan dan perilaku sistem yang tidak terduga.
- ERROR - cetak pesan kesalahan yang memungkinkan sistem untuk melanjutkan
- FATAL - mencetak informasi penting sistem yang menyebabkan aplikasi macet
- OFF - Tidak ada penebangan
- Appenders : Digunakan untuk mengirimkan LogEvents ke tujuan mereka. Ini memutuskan apa yang akan terjadi dengan informasi log. Dengan kata sederhana, ini digunakan untuk menulis log di file. Berikut adalah beberapa jenis Penambah
- ConsoleAppender mencatat ke keluaran standar
- Penambah file mencetak log ke beberapa file
- Menggulirkan appender file ke file dengan ukuran maksimum
Catatan: Dalam properti log4j kita bisa memanggil appender dengan nama apapun. Ada tambahan lain juga tetapi kami akan membatasi untuk beberapa ini.
- Tata Letak : Bertanggung jawab untuk memformat informasi pencatatan dalam gaya yang berbeda.
Kelas Logger menyediakan metode berbeda untuk menangani aktivitas logging. Ini menyediakan dua metode statis untuk mendapatkan Objek Logger.
Logger statis publik getRootLogger ()Logger statis publik getLogger (nama string)
Bagaimana log4j dikonfigurasi?
Untuk mengonfigurasi log4j kita harus memutuskan appender mana yang akan diimplementasikan. Karenanya, parameter appender akan disetel.
- Kami akan menggunakan level DEBUG dan RollingFileAppender
- Kami akan melakukan dua konfigurasi atau log,
- Pertama: root logger, yang akan menulis semua log yang dihasilkan sistem dengan nama file yaitu Selenium.logs
- Kedua: Akan menulis informasi yang dihasilkan oleh perintah manual dalam kode ke dalam nama file- Manual.logs
- Tata letak akan menjadi PatternLayout
#Root logger
log4j.rootLogger = DEBUG, berkaslog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900KBlog4j.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
#Log Aplikasi
log4j.logger.devpinoyLogger = DEBUG, tujuan1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900KBlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {hh / MM / tttt JJ: mm: dd}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false
Dalam Contoh di atas, kami telah mengkonfigurasi log4j untuk masuk ke dua file berbeda bernama Selenium.log dan Manual.log.
- file dan dest1 adalah dua pengenal.
- "File" digunakan untuk memberi nama file di mana log akan 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 ditambahkan sebagai Indeks.
- "maxBackupIndex" digunakan untuk mengkonfigurasi jumlah file maksimum yang akan di-backup.
- "layout" digunakan untuk mengatur format file log.
- "Tambahkan" digunakan untuk mengatur fungsi penambahan. Jika disetel ke false, maka setiap kali file baru akan dibuat daripada file lama yang akan digunakan untuk logging
Bagaimana log4j digunakan dalam skrip?
Dalam kode, kami telah menggunakan "log" 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 kita inginkan.
log.debug ("- informasi--");
Apa itu alat LogExpert?
- Alat LogExpert adalah alat untuk Windows yang dikembangkan untuk mengikuti log
- Ini gratis dan penampil log sumber terbuka.
- Ini adalah alat analisis log dengan berbagai fitur seperti menelusuri, memfilter, menandai, dan menyorot log
- Di log alat ini, file diperbarui secara otomatis saat dibuka
- Di alat ini, kita dapat membuka banyak file log di tab yang berbeda
- Kita juga bisa memberi komentar di bookmark, dan ada tombol pintas untuk menavigasi di antara bookmark yang berbeda. Kami juga dapat melihat daftar bookmark lengkap dan menavigasi dari sana
- Pintasan alat diberikan dalam file bantuan sehingga mereka dapat dirujuk ke alat tersebut.
Langkah-langkah menggunakan Log4j dengan Selenium
Langkah 1) Di Eclipse buat proyek baru dengan nama log4j_demo
Langkah 2) Klik kanan pada src -> Build Path -> Configure Build Path
Langkah 2) Klik pada Libraries dan Add Log4J Library. Anda dapat mengunduhnya dari https://logging.apache.org/log4j/1.2/download.html
Langkah 3) Buat file baru. File ini akan menyertakan semua konfigurasi log4j
- Klik kanan pada src -> New -> Other -> General -> File
- Beri nama file sebagai "log4j.properties"
- Klik Selesai
Buat dua file lagi dan beri mereka nama seperti Selenium.logs dan Manual.logs. File-file ini akan berisi semua log yang dibuat oleh sistem dan pernyataan yang dicatat secara manual
Langkah 4) Di log4j.properties, salin seluruh konfigurasi.
Langkah 5) Buat kelas utama:
- Klik kanan pada paket default -> Baru -> Kelas
- Beri nama kelas dan klik selesai
Langkah 6) Salin kode berikut ke kelas utama
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.firefox.FirefoxDriver;impor org.apache.log4j.Logger;public class LoggingDemo {/ *** @param args* /public static void main (String [] args) {// TODO Rintisan metode yang dibuat secara otomatisDriver WebDriver = FirefoxDriver baru ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("membuka webiste");driver.manage (). timeout (). implicitlyWait (20, TimeUnit.SECONDS);log.debug ("entring weight");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("memilih kilogram");driver.findElement (By.name ("opt1")). sendKeys ("kilogram");log.debug ("memilih tinggi dalam kaki");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("memilih tinggi dalam inci");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Mengklik menghitung");driver.findElement (By.name ("cc")). click ();log.debug ("Mendapatkan nilai SIUnit");String SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Mendapatkan nilai USUnit");String USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Mendapatkan nilai UKUnit");String UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Mendapatkan deskripsi keseluruhan");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 ();}}
Pada kode di atas, kami mengunjungi http://healthunify.com/bmicalculator/ dan memverifikasi kalkulator BMI. Berat yang dimasukkan adalah 87KG dan tingginya 5 Kaki 10 inci. Skrip memeriksa keluaran dalam unit SE, AS dan Inggris.
Menggunakan Logger.getLogger ("devpinoyLogger") kami membuat log tingkat sistem
Menggunakan metode log.debug kami menyimpan data ke Manual.log
Langkah 7) Jalankan skrip. Buka lokasi log Manual dan Selenium untuk memeriksa data logging.
Bagaimana alat LogExpert dapat digunakan untuk menganalisis log
- Unduh alat dari http://logexpert.codeplex.com/. Buka folder unduhan LogExpert
- Buka LogExpert.exe
- Klik File -> Open dan Browse ke jalur penyimpanan file Manual.log dan Selenium.log. Pilih file
- Pilih opsi "Ikuti ekor"
Memilih opsi ikuti ekor memungkinkan tailing log yang berarti LogExpert secara otomatis memperbarui file log ketika skrip dalam fase eksekusi. Jika kita menggunakan editor lain seperti notepad maka kita harus menutup dan membuka kembali file tersebut lagi dan lagi untuk memperbarui log. Tetapi dengan ExpertTool dalam Follow Tail Mode ini tidak diperlukan.
Gambar berikut menunjukkan tata letak log
Dengan menggunakan alat LogExpert, seseorang dapat men-debug log yang dibuat oleh driver web selenium seperti yang dapat dilakukan oleh alat ini
- mencari teks dan ekspresi reguler apa pun,
- buat bookmark dan komentari mereka dan juga dapat menavigasi di antara bookmark yang tidak mungkin dilakukan di alat lain,
- Saring log dan cari rentang teks dan juga dapat menerapkan filter lain ke log yang difilter sebelumnya,
- Sorot baris yang berbeda berdasarkan beberapa kata tertentu.
Alat ini juga membantu mempartisi data ke dalam kolom yang berbeda.