Log4j の使い方 Selenium?
⚡ スマートサマリー
4j にログインします Selenium 高速で柔軟性があります Java 自動化スクリプトのフロー詳細を記録するログフレームワーク。複数のログレベル、アペンダー、レイアウトをサポートし、生成されたログファイルの分析にはLogExpertとの連携が効果的です。

Log4jとは何ですか Selenium?
Log4jは、高速で柔軟かつ信頼性の高いロギングフレームワーク(API)です。 Java そして1996年初頭に開発されました。 アパッチ ソフトウェアライセンス。Log4jはC言語に移植されています。 C++、C#、 パール, PythonRubyやEiffelなどの言語に対応しています。小規模から大規模まで幅広く使用できるツールです。 Selenium 自動化プロジェクト。
Log4j を使用する理由
Log4jは、以下のような実用的な利点をいくつか提供します。 Selenium プロジェクト:
- オープンソースです。
- Log4j を使用すると、フローの詳細を保存できます。 Selenium ファイルまたはデータベースにおける自動化。
- Log4jは、大規模プロジェクトにも小規模プロジェクトにも対応できます。
- Log4jでは、プロジェクトの実行中にその状態を把握するために、コード内のSystem.out.printlnステートメントの代わりにlogステートメントが使用されます。
Log4j コンポーネント
ロガー
ロガーは情報を記録する役割を担います。プロジェクトにロガーを実装するには、以下の手順を実行する必要があります。
Loggerクラスのインスタンスを作成します。
Logger クラスは JavaLog4jを使用するための汎用メソッドがすべて実装されている、-ベースのユーティリティ。
Log4j レベルを定義する
ログレベルには主に7種類あります。
- すべて – このレベルのログ記録では、すべてが記録されます(すべてのログが有効になります)。
- DEBUG – デバッグ情報を出力し、開発段階で役立ちます。
- INFO – アプリケーションの進行状況を示す情報メッセージを表示します。
- 警告 – システムの不具合や予期しない動作に関する情報を表示します。
- エラー – システムが処理を続行できる可能性のあるエラーメッセージを表示します。
- FATAL – アプリケーションのクラッシュを引き起こす、システムにとって重大な情報を表示します。
- OFF – ログを記録しません。
アペンダー
アペンダーは、ログイベントを宛先に配信するために使用されます。ログ情報の処理方法を決定します。簡単に言うと、ログをファイルに書き込みます。以下に、アペンダーの種類をいくつか示します。
- ConsoleAppenderは標準出力にログを出力します。
- FileAppenderは、ログを特定のファイルに出力します。
- RollingFileAppenderは、最大サイズのファイルに書き込みます。
注意: log4j.properties ファイルでは、アペンダーに任意の名前を付けることができます。他にもアペンダーはありますが、ここではこれらのアペンダーに焦点を当てます。
レイアウト
レイアウトは、ログ情報をさまざまなスタイルでフォーマットする役割を担います。
Loggerクラスは、ログ記録処理を行うためのさまざまなメソッドを提供します。Loggerオブジェクトを取得するための静的メソッドが2つ用意されています。
public static Logger getRootLogger()
public static Logger getLogger(String name)
Log4jはどのように設定されていますか?
Log4jを設定するには、どのAppenderを実装するかを決定します。Appenderのパラメータはそれに応じて設定されます。
- DEBUGレベルとRollingFileAppenderを使用してください。
- 2つの設定またはログが作成されます。
- まず、ルートロガーは、システムで生成されたすべてのログをファイルに書き込みます。 Selenium.logs。
- 2つ目は、アプリケーションロガーです。これは、コード内の手動コマンドによって生成された情報を、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 は 2 つの異なるファイルにログを記録するように構成されています。 Selenium.log と Manual.log。
- file と dest1 は XNUMX つの識別子です。
- 「ファイル」は、ログが保存されるファイル名を指定するために使用されます。
- 「maxFileSize」は、ログファイルの最大サイズを設定するために使用されます。ファイルがこのサイズに達すると、同じ名前の新しいファイルが作成され、古いファイル名にはインデックスサフィックスが付加されます。
- 「maxBackupIndex」は、バックアップするファイルの最大数を設定するために使用されます。
- 「layout」はログファイルの形式を設定するために使用されます。
- 「Append」は、ログ記録機能を設定するために使用されます。これをfalseに設定すると、ログ記録のために古いファイルを再利用するのではなく、毎回新しいファイルが作成されます。
スクリプト内でLog4jはどのように使用されますか?
コード内では、「log」はLoggerクラスのgetLoggerメソッドを参照する参照変数として使用されています。
Logger log = Logger.getLogger("devpinoyLogger");
必要な情報をログに記録するには、「log」参照変数とデバッグメソッドを使用します。
log.debug("--information--");
LogExpert ツールとは何ですか?
LogExpertは、以下の特徴を持つツールです。
- LogExpertは Windows ログを追跡するために開発されたツール。
- これは無料のオープンソースのログビューアです。
- これは、ログの検索、フィルタリング、ブックマーク、ハイライト表示など、複数の機能を備えたログ分析ツールです。
- ログファイルは、このツールで開くと自動的に更新されます。
- 複数のログファイルを異なるタブで開くことができます。
- ブックマークにはコメントを追加でき、ショートカットキーで異なるブックマーク間を移動できます。ブックマークの一覧も閲覧可能です。
- ツールのショートカットはヘルプファイルに記載されているので、必要に応じて参照できます。
Log4j の使用方法 Selenium
ステップ1) In Eclipselog4j_demo という名前で新しいプロジェクトを作成します。
ステップ2) src を右クリックして、[ビルド パス] -> [ビルド パスの設定] を選択します。
ステップ3) 「ライブラリ」をクリックして、Log4jライブラリを追加します。ダウンロードはこちらから。 https://logging.apache.org/log4j/1.2/download.html.
ステップ4) 新しいファイルを作成します。このファイルには、Log4jのすべての設定情報が格納されます。
- src を右クリックして、[新規] -> [その他] -> [一般] -> [ファイル] を選択します。
- ファイル名を「log4j.properties」としてください。
- 完了をクリックします。
さらに2つのファイルを作成し、名前を付けます。 Selenium.logs および Manual.logs。これらのファイルには、システムによって作成されたすべてのログと、手動で記録されたステートメントが含まれています。
ステップ5) log4j.properties ファイルに、設定全体をコピーしてください。
ステップ6) メインクラスを作成します。
- デフォルトパッケージを右クリックして、[新規] -> [クラス]を選択します。
- クラスに名前を付けて、「完了」をクリックしてください。
ステップ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 ツールを使用してログを分析する方法
- からツールをダウンロードします https://github.com/zarunbal/LogExpertLogExpertのダウンロードフォルダに移動してください。
- LogExpert.exeを開きます。
- ファイル -> 開くをクリックして、Manual.log と Selenium.log ファイルが保存されています。ファイルを選択してください。
- 「尾行」オプションを選択してください。
「Follow Tail」を選択すると、ログの末尾追跡が有効になり、スクリプトの実行中にLogExpertがログファイルを自動的に更新します。メモ帳などの他のエディタでは、ログを更新するにはファイルを繰り返し閉じたり開いたりする必要がありますが、LogExpertの「Follow Tail」モードでは、そのような操作は不要です。
以下の画像は、ログの配置を示しています。
LogExpert を使用すると、 Selenium WebDriverはデバッグ可能です。このツールでは、以下のことが可能です。
- 任意のテキストと正規表現を検索します。
- ブックマークを作成してコメントを付けたり、ブックマーク間を移動したりできる。これは他のツールでは不可能な機能です。
- ログをフィルタリングし、テキスト範囲を検索し、以前にフィルタリングしたログに別のフィルタを適用します。
- 特定の単語に基づいて、異なる行をハイライト表示する。
このツールは、データをさまざまな列に分割するのにも役立ちます。











