問題を説明できるように、私のSeleniumフレームワークの簡単な説明をしようとします。ログバックでの並列スレッドのログ
Iはセレン2(現在のバージョン2.3.1)+ TestNGの5.14
私はちょうど2つのインスタンス
、並列にテストスイートでテストを実行するtestng.xmlファイルのセットを使用しますログの目的のために、私はログバックを使用しています(私はログの世界で次善のものです)
私の問題は、アプリケーションのログを確認すると、私はこのような何かを得る:
18:48:58.551 [TestNGの] INFO daastsetup.TestConfiguration - はユーザープール
18からランダムにユーザーの検索: - からランダムユーザーの取得 58.551 [TestNGの] INFO daastsetup.TestConfiguration:48ユーザープール
18:48:58.551 [TestNGの] DEBUGのdaastsetup.TestConfiguration - データベース
18 acccessingのためのデータソースの作成:48: - 0 58.551 [TestNGの] DEBUGのdaastsetup.TestConfigurationを48:58.552 [TestNGの] DEBUGのdaastsetup.TestConfiguration - 起動SQLクエリ - :48: 起動SQLクエリ
18 58.552 [TestNGの] DEBUGのdaastsetup.TestConfigurationデータベース
18をacccessingための作成データソース
18:48:59.613 [TestNGの】TRACEのdaastsetup.TestConfiguration - クエリ 成功し
18:48:59.613 [TestNGの】TRACEのdaastsetup.TestConfiguration - クエリ 成功
ご覧のとおり、同時に実行されている2つのスレッドの違いを見ることはできません。私の質問は、実行中の各スレッドを識別するための番号やIDを追加できるように、ログバック設定を構成する方法はありますか?
PDそれが役立つこと念のため、私のlogback.xmlファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/selenium.log</file>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="trace">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
は=あなたの助けをありがとう)
}パナセア{
ありがとう、Ceki! MDCは私にとって完璧に機能しました。誰かが興味があれば、Listenerクラス(** TestListenerAdapter **のサブクラス)を作成し、メソッドonStart(ITestContext testContext)に次の行を追加します:** MDC.put( "tests"、testContext.getName()) ; ** – Panacea