我將嘗試對我的Selenium框架進行簡要描述,以便我可以解釋我的問題。在logback中記錄並行線程
我使用硒2(當前版本2.3.1)+ TestNG的5.14
予設定的testng.xml文件以運行在測試套件在平行試驗中,僅有2個實例
爲了記錄的目的,我使用的logback (我讀過的日誌世界退而求其次)
我的問題是,當檢查哪些應用程序日誌中我得到的是這樣的:
18:48:58.551 [TestNG的] INFO daastsetup.TestConfiguration - 隨機檢索用戶從用戶普爾
18:48:58.551 [TestNG的] INFO daastsetup.TestConfiguration - 檢索從隨機用戶用戶普爾
18:48:58.551 [TestNG的] DEBUG daastsetup.TestConfiguration - 創建數據源爲acccessing數據庫
18:48:58.551 [TestNG的] DEBUG daastsetup.TestConfiguration - 創建數據源爲acccessing數據庫
18:48:58.552 [TestNG的] DEBUG daastsetup.TestConfiguration - 啓動SQL查詢
18:48:58.552 [TestNG的] DEBUG daastsetup.TestConfiguration - 啓動SQL查詢
18:48:59.613 [TestNG的] TRACE daastsetup.TestConfiguration - 查詢 成功的
18:48:59.613 [TestNG的] TRACE daastsetup.TestConfiguration - 查詢 成功
如您所見,不可能看到同時運行的兩個線程之間的差異。我的問題是,有沒有一種方法可以配置logback設置,以便他們也添加一個數字或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