Giriş yapın Selenium: Log4j Özellikler Dosyası Nasıl İndirilir ve Kullanılır

Log4j nedir? Selenium?

Log4j, hızlı, esnek ve güvenilir bir günlük kaydı çerçevesidir (APIS). Java 1996'nın başlarında geliştirildi. Apache Yazılım Lisansı. Log4J C'ye taşındı, C++, C#, Perl, Python, Ruby ve Eiffel Dilleri. Küçükten büyüğe ölçekte kullanılan bir araçtır. Selenium Otomasyon projeleri.

Neden Log4j'yi kullanmalısınız?

  • Açık kaynak
  • Log4j ile akış detaylarını depolamak mümkündür Selenium Bir dosya veya veritabanlarında otomasyon
  • Log4j hem büyük hem de küçük projeler için kullanılır
  • Log4j'de, bir projenin yürütülürken durumunu bilmek için koddaki SOPL ifadeleri yerine log ifadelerini kullanırız

Log4j Bileşenleri

Log4j Bileşenleri

Kaydediciler

Bilgilerin kaydedilmesinden sorumludur. Kaydedicileri bir projeye uygulamak için aşağıdaki adımların gerçekleştirilmesi gerekir

Günlükçü sınıfı için bir örnek oluşturun

Logger sınıfı bir Javalog4j'yi kullanmak için zaten uygulanmış tüm genel yöntemleri içeren tabanlı yardımcı program

Log4j seviyesini tanımlayın

Öncelikle beş çeşit log seviyesi vardır

  1. Tümü – Bu günlük kaydı düzeyi her şeyi günlüğe kaydeder (tüm günlükleri açar)
  2. DEBUG – hata ayıklama bilgilerini yazdırır ve geliştirme aşamasında faydalıdır
  3. BİLGİ – uygulamanın ilerleyişini vurgulayan bilgi mesajı yazdırın
  4. UYARI – hatalı ve beklenmeyen sistem davranışına ilişkin bilgileri yazdırır.
  5. HATA – sistemin devam etmesine izin verebilecek hata mesajını yazdırın
  6. FATAL – uygulamanın çökmesine neden olan sistem açısından kritik bilgileri yazdırın
  7. KAPALI – Günlük kaydı yok

ekleyenler

LogEvents'ı hedeflerine ulaştırmak için kullanılır. Günlük bilgileriyle ne olacağına karar verir. Basitçe söylemek gerekirse, günlükleri dosyaya yazmak için kullanılır. Aşağıda birkaç Ekleyici türü verilmiştir

  1. ConsoleAppender standart çıktıya günlüğe kaydeder
  2. Dosya ekleyici günlükleri bazı dosyalara yazdırır
  3. Dosya ekleyiciyi maksimum boyuttaki bir dosyaya döndürme

Not: Log4j özelliklerinde ekleyiciyi herhangi bir adla çağırabiliriz. Başka ekleyiciler de var ama biz bu birkaçıyla sınırlı kalacağız.

düzenleri

Günlük bilgilerinin farklı stillerde biçimlendirilmesinden sorumludur.

Logger sınıfı, günlüğe kaydetme etkinliklerini yönetmek için farklı yöntemler sağlar. Bir Logger Nesnesi elde etmek için iki statik yöntem sağlar.

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

log4j nasıl yapılandırılır?

Log4j'yi yapılandırmak için hangi ekleyicinin uygulanacağına karar vermeliyiz. Buna göre ekleyicinin parametreleri ayarlanacaktır.

  • DEBUG seviyesini ve RollingFileAppender'ı kullanacağız
  • İki konfigürasyon veya log yapacağız,
  • İlki: sistem tarafından oluşturulan tüm günlükleri dosya adına yazacak kök günlükçü Selenium.kütükler
  • İkincisi: Koddaki manuel komutlar tarafından oluşturulan bilgileri Manual.logs dosya adına yazacak
  • Düzen PatternLayout olacaktır
  • #Kök kaydedici

    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<strong>{1}</strong>:%L - %m%n
    log4j.appender.file.Append=false
    

    #Uygulama Günlükleri

    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
    

    Yukarıdaki örnekte log4j'yi şu şekilde adlandırılan iki farklı dosyada oturum açacak şekilde yapılandırdık: Selenium.log ve Manual.log.

    • file ve dest1 iki tanımlayıcıdır.
    • Günlüklerin kaydedileceği dosya adını vermek için “Dosya” kullanılır
    • Günlük dosyasının maksimum boyutunu yapılandırmak için “maxFileSize” kullanılır. Dosya bu boyuta ulaştığında aynı isimde yeni bir dosya oluşturulacak ve eski dosya adı bu dosyaya Index olarak eklenecektir.
    • Yedeklenecek maksimum dosya sayısını yapılandırmak için “maxBackupIndex” kullanılır.
    • Günlük dosyasının biçimini ayarlamak için “düzen” kullanılır.
    • Ekleme fonksiyonunu ayarlamak için “Ekle” kullanılır. Yanlış olarak ayarlanırsa, her seferinde eski dosya yerine yeni bir dosya oluşturulduğunda günlük kaydı için kullanılacaktır

    Log4j komut dosyasında nasıl kullanılır?

    Kodda, Logger Sınıfının getLogger yöntemine referans veren referans değişkeni olarak “log”u kullandık

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

    İstediğimiz bilgiyi günlüğe kaydetmek için “log” referans değişkenini ve hata ayıklama yöntemini kullanın.

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

    LogExpert aracı nedir?

    1. LogExpert aracı aşağıdakiler için bir araçtır: Windows günlükleri kuyruklamak için geliştirildi
    2. Ücretsiz ve açık kaynaklı bir günlük görüntüleyicidir.
    3. Günlükleri arama, filtreleme, yer imlerine ekleme ve vurgulama gibi birden fazla özelliğe sahip bir günlük analiz aracıdır
    4. Bu araç günlüklerinde dosyalar açıldığında otomatik olarak güncellenir
    5. Bu araçta birden fazla günlük dosyasını farklı sekmelerde açabiliriz
    6. Ayrıca yer imlerine yorum da koyabiliriz ve farklı yer imleri arasında gezinmek için kısayol tuşu da vardır. Ayrıca yer imi listesinin tamamını görebilir ve oradan gezinebiliriz
    7. Aracın kısayolları, araca başvurulabilmesi için yardım dosyasında verilmiştir.

    Log4j nasıl kullanılır? Selenium

    ) 1 Adım In Eclipse log4j_demo adında yeni bir proje oluşturun

    Log4j In'i kullanın Selenium

    ) 2 Adım Src'ye sağ tıklayın -> Yapı Yolu -> Yapı Yolunu Yapılandır

    Log4j In'i kullanın Selenium

    ) 3 Adım Kütüphaneler'e tıklayın ve Log4J Kütüphanesi Ekle'ye tıklayın. Şuradan indirebilirsiniz https://logging.apache.org/log4j/1.2/download.html

    Log4j In'i kullanın Selenium

    ) 4 Adım Yeni bir dosya oluşturun. Bu dosya tüm log4j yapılandırmasını içerecektir

    1. Src -> Yeni -> Diğer -> Genel -> Dosya'ya sağ tıklayın
    2. Dosya adını “log4j.properties” olarak verin
    3. Bitir tıklayın

    İki dosya daha oluşturun ve bunlara aşağıdaki gibi adlar verin: Selenium.logs ve Manual.logs. Bu dosyalar sistem tarafından oluşturulan tüm günlükleri ve manuel olarak günlüğe kaydedilen ifadeleri içerecektir

    Log4j In'i kullanın Selenium

    ) 5 Adım Log4j.properties'te tüm konfigürasyonu kopyalayın.

    Log4j In'i kullanın Selenium

    ) 6 Adım Ana sınıf oluştur:

    1. Varsayılan pakete sağ tıklayın -> Yeni -> Sınıf
    2. Sınıfın adını verin ve bitir'e tıklayın

    Log4j In'i kullanın Selenium

    ) 7 Adım Aşağıdaki kodu ana sınıfa kopyalayın

    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 webiste");
             driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    		 log.debug("entring 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 inchs");
             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();
    	}
    }
    

    Yukarıdaki kodda ziyaret ediyoruz https://healthunify.com/bmicalculator/ ve BMI hesaplayıcısını doğrulayın. Girilen ağırlık 87kg ve yükseklik 5 Feet 10 inçtir. Komut dosyası çıktıyı SE, ABD ve İngiltere birimlerinde kontrol eder.

    Logger.getLogger(“devpinoyLogger”) kullanarak sistem düzeyinde günlükler oluştururuz

    Log.debug yöntemini kullanarak verileri Manual.log'a saklıyoruz

    ) 8 Adım Komut dosyasını çalıştırın. Manuel konumunu açın ve Selenium Günlük verilerini kontrol etmek için günlükler.

    Günlükleri analiz etmek için LogExpert aracı nasıl kullanılabilir?

    1. Aracı şuradan indirin: https://github.com/zarunbal/LogExpert . LogExpert indirme klasörüne gidin

      LogExpert Aracı Günlükleri Analiz Etmek İçin Kullanılabilir

    2. LogExpert.exe'yi açın
    3. Dosya -> Aç'a tıklayın ve Manual.log'un bulunduğu yola göz atın ve Selenium.log dosyaları saklanır. Dosyayı seçin
    4. “Kuyruğu takip et” seçeneğini seçin

      LogExpert Aracı Günlüğü Analiz Etmek İçin Kullanılabilir

      Takip kuyruğu seçeneğinin seçilmesi, günlüklerin kuyruklanmasını etkinleştirir; bu, LogExpert'in, komut dosyası yürütme aşamasındayken günlük dosyasını otomatik olarak güncellediği anlamına gelir. Not defteri gibi başka bir düzenleyici kullanırsak, günlükleri güncellemek için dosyayı tekrar tekrar kapatıp yeniden açmamız gerekir. Ancak Takip Kuyruk Modundaki ExpertTool ile bu gerekli değildir.

      Aşağıdaki resimler günlüklerin düzenini göstermektedir

      LogExpert Aracı Günlüğü Analiz Etmek İçin Kullanılabilir

      LogExpert Aracı Günlüğü Analiz Etmek İçin Kullanılabilir

    LogExpert aracını kullanarak, bu araçta olduğu gibi Selenium web sürücüsü tarafından oluşturulan günlüklerde hata ayıklama yapılabilir.

    • herhangi bir metni ve normal ifadeyi arayın,
    • yer imi oluşturun ve bunlara yorum yapın ve ayrıca başka hiçbir araçta mümkün olmayan yer imleri arasında gezinebilirsiniz,
    • Günlükleri filtreleyin ve metin aralıklarını arayın; ayrıca daha önce filtrelenen günlüklere başka bir filtre uygulayabilirsiniz,
    • Bazı belirli kelimelere göre farklı satırları vurgulayın.

    Bu araç aynı zamanda verileri farklı sütunlara bölmeye de yardımcı olur.

    Bu yazıyı şu şekilde özetleyin: