Log4j 사용 방법 Selenium?

⚡ 스마트 요약

Log4j 입력 Selenium 빠르고 유연합니다. Java 자동화 스크립트의 흐름 세부 정보를 기록하는 로깅 프레임워크입니다. 다양한 로그 레벨, 어펜더 및 레이아웃을 지원하며, 생성된 로그 파일을 분석하기 위해 LogExpert와 함께 사용하면 효과적입니다.

  • 🔘 구성 요소 : Log4j는 로거, 어펜더, 레이아웃을 중심으로 구성되어 있으며, 이들을 통해 로그 이벤트를 캡처, 라우팅 및 포맷팅합니다. Selenium 자동화 프로젝트.
  • ☑️ 로그 레벨: 7단계(ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF)는 스크립트 실행 및 디버깅 중에 기록되는 세부 정보의 수준을 제어합니다.
  • 부속물: ConsoleAppender, FileAppender 및 RollingFileAppender는 로그 항목이 콘솔, 고정 파일 또는 롤링 파일 세트로 전송될지 여부를 결정합니다.
  • 🧪 구성 : log4j.properties 파일은 루트 및 애플리케이션 로거, 파일 경로, 최대 파일 크기, 백업 인덱스 및 PatternLayout 서식 규칙을 정의합니다.
  • 🛠️ LogExpert 뷰어: 무료 LogExpert 도구의 꼬리 Selenium 필터링, 북마크, 강조 표시 및 멀티탭 보기 기능을 통해 실시간으로 수동 로그 파일을 확인할 수 있습니다.

Log4j 사용 방법 Selenium

Log4j는 무엇입니까? Selenium?

Log4j는 빠르고 유연하며 안정적인 로깅 프레임워크(API)로 작성되었습니다. Java 1996년 초에 개발되었으며, 다음 라이선스 하에 배포됩니다. 아파치 소프트웨어 라이선스. Log4j는 C 언어로 포팅되었습니다. C++, C#, , PythonRuby 및 Eiffel 언어를 지원합니다. 소규모부터 대규모까지 다양한 규모의 프로젝트에 사용되는 도구입니다. Selenium 자동화 프로젝트.

Log4j를 사용하는 이유는 무엇입니까?

Log4j는 다음과 같은 여러 가지 실질적인 이점을 제공합니다. Selenium 프로젝트 :

  • 오픈 소스입니다.
  • Log4j를 사용하면 흐름의 세부 정보를 저장할 수 있습니다. Selenium 파일이나 데이터베이스에서의 자동화.
  • Log4j는 규모가 큰 프로젝트뿐 아니라 작은 프로젝트에도 적합합니다.
  • Log4j에서는 코드에서 System.out.println 문을 로그 문으로 대체하여 프로젝트 실행 상태를 확인할 수 있습니다.

Log4j 구성요소

Log4j 구성요소

로거

로거는 정보를 기록하는 역할을 합니다. 프로젝트에 로거를 구현하려면 다음 단계를 수행해야 합니다.

Logger 클래스의 인스턴스를 생성합니다.

Logger 클래스는 JavaLog4j를 사용하기 위한 모든 일반적인 메서드가 이미 구현된 유틸리티입니다.

Log4j 수준 정의

로그 레벨은 크게 7가지 종류가 있습니다.

  1. 전체 - 이 로깅 수준은 모든 것을 기록합니다(모든 로그를 활성화합니다).
  2. DEBUG - 디버깅 정보를 출력하며 개발 단계에서 유용합니다.
  3. INFO – 애플리케이션 진행 상황을 강조하는 정보 메시지를 출력합니다.
  4. 경고 – 시스템의 오류 및 예기치 않은 동작에 대한 정보를 출력합니다.
  5. 오류 – 시스템이 계속 작동할 수 있도록 오류 메시지를 출력합니다.
  6. 치명적 오류 - 시스템에 치명적인 정보를 출력하여 애플리케이션이 충돌합니다.
  7. 끔 – 로그 기록 안 함.

어펜더

어펜더는 로그 이벤트를 목적지로 전달하는 데 사용됩니다. 어펜더는 로그 정보를 어떻게 처리할지 결정합니다. 간단히 말하면, 로그를 파일에 기록합니다. 다음은 몇 가지 유형의 어펜더입니다.

  1. ConsoleAppender는 표준 출력으로 로그를 출력합니다.
  2. FileAppender는 로그를 지정된 파일에 출력합니다.
  3. RollingFileAppender는 최대 크기가 지정된 파일에 데이터를 씁니다.

참고 : log4j.properties 파일에서 어펜더는 어떤 이름으로든 호출할 수 있습니다. 다른 어펜더도 있지만, 여기서는 이 몇 가지에 초점을 맞추겠습니다.

레이아웃

레이아웃은 로깅 정보를 다양한 스타일로 서식 지정하는 역할을 합니다.

Logger 클래스는 로깅 활동을 처리하기 위한 다양한 메서드를 제공합니다. 또한 Logger 객체를 얻기 위한 두 가지 정적 메서드를 제공합니다.

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

Log4j는 어떻게 구성하나요?

Log4j를 구성하려면 어떤 어펜더를 구현할지 결정해야 합니다. 어펜더의 매개변수는 그에 따라 설정됩니다.

  • DEBUG 레벨과 RollingFileAppender를 사용하세요.
  • 두 개의 구성 또는 로그가 생성됩니다.
    • 첫째, 루트 로거는 시스템에서 생성된 모든 로그를 라는 파일에 기록합니다. Selenium.로그.
    • 두 번째는 애플리케이션 로거로, 코드의 수동 명령에 의해 생성된 정보를 Manual.logs라는 파일에 기록합니다.
  • 사용된 레이아웃은 PatternLayout입니다.

#루트 로거

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

#애플리케이션 로그

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

위 예시에서 Log4j는 서로 다른 두 개의 파일에 로그를 기록하도록 구성되어 있습니다. Selenium.log 및 Manual.log.

  • file과 dest1은 두 개의 식별자입니다.
  • "파일"은 로그가 저장되는 파일 이름을 지정하는 데 사용됩니다.
  • "maxFileSize"는 로그 파일의 최대 크기를 설정하는 데 사용됩니다. 파일 크기가 이 크기에 도달하면 동일한 이름으로 새 파일이 생성되고, 기존 파일 이름에는 인덱스 접미사가 추가됩니다.
  • "maxBackupIndex"는 백업할 최대 파일 수를 구성하는 데 사용됩니다.
  • "layout"은 로그 파일의 형식을 설정하는 데 사용됩니다.
  • "Append"는 추가 기능을 설정하는 데 사용됩니다. 이 값을 false로 설정하면 로그를 기록할 때마다 기존 파일을 재사용하는 대신 새 파일이 생성됩니다.

Log4j는 스크립트 내에서 어떻게 사용되나요?

코드에서 "log"는 Logger 클래스의 getLogger 메서드를 참조하는 참조 변수로 사용됩니다.

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

필요한 정보를 로깅하려면 "log" 참조 변수와 debug 메서드를 사용하십시오.

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

LogExpert 도구란 무엇입니까?

LogExpert는 다음과 같은 특징을 가진 도구입니다.

  1. LogExpert는 Windows 로그 추적을 위해 개발된 도구입니다.
  2. 이는 무료 오픈 소스 로그 뷰어입니다.
  3. 로그 검색, 필터링, 북마크, 강조 표시 등 다양한 기능을 갖춘 로그 분석 도구입니다.
  4. 이 도구에서 로그 파일을 열면 자동으로 업데이트됩니다.
  5. 여러 개의 로그 파일을 각각 다른 탭에서 열 수 있습니다.
  6. 즐겨찾기에 댓글을 추가할 수 있으며, 단축키를 사용하여 여러 즐겨찾기 사이를 이동할 수 있습니다. 전체 즐겨찾기 목록을 통해 탐색도 가능합니다.
  7. 해당 도구의 바로가기 키는 도움말 파일에 제공되어 있으므로 필요에 따라 참조할 수 있습니다.

Log4j를 사용하는 방법 Selenium

단계 1) In Eclipselog4j_demo라는 이름으로 새 프로젝트를 생성하세요.

Log4j 사용 Selenium

단계 2) src 폴더를 마우스 오른쪽 버튼으로 클릭 -> 빌드 경로 -> 빌드 경로 구성.

Log4j 사용 Selenium

단계 3) 라이브러리를 클릭하고 Log4j 라이브러리를 추가하세요. 해당 라이브러리는 다음에서 다운로드할 수 있습니다. https://logging.apache.org/log4j/1.2/download.html.

Log4j 사용 Selenium

단계 4) 새 파일을 생성하세요. 이 파일에는 Log4j의 모든 설정 정보가 저장됩니다.

  1. src를 마우스 오른쪽 버튼으로 클릭 -> 새로 만들기 -> 기타 -> 일반 -> 파일.
  2. 파일 이름을 “log4j.properties”로 지정하세요.
  3. Finish를 클릭하십시오.

파일을 두 개 더 만들고 이름을 지정하세요. Selenium.logs 및 Manual.logs 파일에는 시스템에서 생성된 모든 로그와 수동으로 기록된 명령문이 포함되어 있습니다.

Log4j 사용 Selenium

단계 5) log4j.properties 파일에서 전체 설정을 복사합니다.

Log4j 사용 Selenium

단계 6) 메인 클래스를 생성하세요:

  1. 기본 패키지를 마우스 오른쪽 버튼으로 클릭 -> 새로 만들기 -> 클래스.
  2. 수업 이름을 지정하고 완료를 클릭하세요.

Log4j 사용 Selenium

단계 7) 다음 코드를 메인 클래스에 복사하세요.

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

위 코드에서 스크립트는 다음을 방문합니다. https://healthunify.com/bmicalculator/ 이 스크립트는 BMI 계산기의 유효성을 검증합니다. 입력된 몸무게는 87kg이고 키는 5피트 10인치입니다. 또한 SI, 미국, 영국 단위로 출력값을 확인합니다.

스크립트는 Logger.getLogger(“devpinoyLogger”)를 사용하여 시스템 수준 로그를 생성합니다. log.debug 메서드를 사용하면 데이터가 Manual.log에 저장됩니다.

단계 8) 스크립트를 실행합니다. 매뉴얼 위치를 열고 Selenium 로그 데이터를 확인하려면 로그를 참조하십시오.

LogExpert 도구를 사용하여 로그를 분석하는 방법

  1. 다음에서 도구 다운로드 https://github.com/zarunbal/LogExpertLogExpert 다운로드 폴더로 이동하세요.

    LogExpert 도구를 사용하여 로그를 분석할 수 있습니다.

  2. LogExpert.exe를 실행하세요.
  3. 파일 -> 열기를 클릭하고 Manual.log 파일이 있는 경로를 찾아 선택하세요. Selenium.log 파일이 저장됩니다. 파일을 선택하세요.
  4. “추적” 옵션을 선택하세요.

    LogExpert 도구를 사용하여 로그를 분석할 수 있습니다.

    '로그 추적'을 선택하면 로그가 자동으로 업데이트됩니다. 즉, LogExpert는 스크립트 실행 중에 로그 파일을 자동으로 업데이트합니다. 메모장과 같은 다른 편집기를 사용하는 경우 로그를 업데이트하려면 파일을 반복적으로 닫았다가 다시 열어야 합니다. 하지만 LogExpert의 '로그 추적' 모드를 사용하면 이러한 작업이 필요하지 않습니다.

    다음 이미지는 로그의 레이아웃을 보여줍니다.

    LogExpert 도구를 사용하여 로그를 분석할 수 있습니다.

    LogExpert 도구를 사용하여 로그를 분석할 수 있습니다.

LogExpert를 사용하면 생성된 로그를 확인할 수 있습니다. Selenium WebDriver는 디버깅이 가능합니다. 이 도구를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 텍스트와 정규 표현식을 검색하세요.
  • 다른 어떤 도구에서도 불가능한 북마크 생성 및 댓글 달기, 북마크 간 이동 기능까지 제공합니다.
  • 로그를 필터링하고, 텍스트 범위를 검색한 다음, 이전에 필터링된 로그에 다른 필터를 적용합니다.
  • 특정 단어를 기준으로 다른 줄을 강조 표시하세요.

이 도구는 데이터를 여러 열로 분할하는 데에도 도움이 됩니다.

자주 묻는 질문

Log4j 1.x는 2015년에 지원이 종료되었으며, 설정을 위해 속성 파일 또는 XML 파일을 사용합니다. Log4j 2.x는 향상된 성능, 비동기 로거, 람다 지원, 그리고 Log4Shell 패치 이후 강화된 보안 기능을 제공하므로 새로운 프로젝트에 권장되는 버전입니다.

Log4j는 구성 가능한 로그 레벨, 영구 파일 출력, 롤링 백업 및 구조화된 패턴을 지원합니다. System.out.println은 콘솔에만 출력하며 필터링이나 아카이빙이 불가능합니다. Log4j는 Selenium 테스트 결과를 분류, 감사 및 재현하기가 더 쉬워집니다.

예. AI 비서는 대규모 Log4j 출력 결과를 분석하고, 반복되는 오류를 그룹화하며, 근본 원인 패턴을 파악할 수 있습니다. Selenium 실행 과정에서 불안정한 위치 지정자, 느린 단계 및 스택 문제가 발생합니다. trac즉, 원시 로그 라인을 QA 엔지니어가 처리할 수 있는 우선순위가 지정된 작업 항목으로 변환합니다.

AI 기반 관찰 플랫폼은 Log4j 스트림을 수집하고, 실시간으로 이상 징후를 감지하며, 사용자에게 영향을 미치기 전에 장애를 예측합니다. 머신 러닝 모델은 심각도를 평가하고, 불필요한 이벤트를 중복 제거하며, 스마트 알림을 트리거하여 수동 grep 워크플로를 사전 예방적 모니터링으로 대체합니다.

아니요. LogExpert는 인기 있는 무료 도구입니다. Windows 테일 추적 및 필터링 기능을 갖춘 뷰어이지만, BareTail, glogg, Klogg, Splunk와 같은 완전한 플랫폼을 대안으로 사용할 수 있습니다. Graylog또는 여러 대의 기기에서 중앙 집중식 분석을 위한 ELK 스택을 사용할 수도 있습니다.

이 게시물을 요약하면 다음과 같습니다.