ILogSaver監聽器

public interface ILogSaverListener
implements ITestInvocationListener

com.android.tradefed.result.ILogSaverListener


允許ITestInvocationListener監聽日誌檔案的保存時間。

這允許多個ITestInvocationListener在產生報告時使用相同的已儲存日誌文件,並避免在ITestLogger.testLog(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource)時每個偵聽器單獨保存檔案ITestLogger.testLog(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource)被呼叫。

實作此介面的類別應該要注意,只要testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) ITestLogger.testLog(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource)被呼叫。

此類別也會傳遞全域ILogSaver實例,以便ITestInvocationListener可以在相同位置保存其他檔案。

概括

公共方法

default void logAssociation (String dataName, LogFile logFile)

在某些情況下,日誌必須與測試案例強關聯,但有機會這樣做就直接testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)回呼是不可能的。

default void setLogSaver ( ILogSaver logSaver)

設定ILogSaver以允許實現者保存檔案。

default void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

保存測試日誌時調用。

公共方法

日誌關聯

public void logAssociation (String dataName, 
                LogFile logFile)

在某些情況下,日誌必須與測試案例強關聯,但有機會這樣做就直接testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)回呼是不可能的。因此,此回調允許明確提供強關聯。

參數
dataName String : 資料的名稱

logFile LogFile :先前記錄的LogFile ,應與測試案例關聯。

設定日誌保存程序

public void setLogSaver (ILogSaver logSaver)

設定ILogSaver以允許實現者保存檔案。

參數
logSaver ILogSaverILogSaver

測試日誌已儲存

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

保存測試日誌時調用。

應該用來取代ITestInvocationListener#testLog(String, LogDataType, InputStreamSource)

參數
dataName String :資料的String描述性名稱。例如“device_logcat”。注意 每次呼叫時 dataName 可能不是唯一的。即實現者必須能夠處理具有相同 dataName 的多個呼叫

dataType LogDataType :資料的LogDataType

dataStream InputStreamSource :資料的InputStreamSource 。實作者應該呼叫 createInputStream 來開始讀取數據,並確保完成後關閉產生的 InputStream。

logFile LogFile :包含已儲存檔案的元資料的LogFile