FileSystemLogSaver

public class FileSystemLogSaver
extends Object implements ILogSaver

java.lang.Object
   ↳ com.android.tradefed.result.FileSystemLogSaver


將記錄檔儲存至檔案系統。

摘要

公用建構函式

FileSystemLogSaver()

公用方法

LogFile getLogReportDir()

取得 LogFile,其中包含儲存記錄的目錄路徑和/或網址。

void invocationEnded(long elapsedTime)

回報是否因某種錯誤狀況而終止呼叫 (無論是否成功)。

void invocationStarted(IInvocationContext context)

回報測試呼叫的開始時間。

此外,請在 report-dir/[branch/]build-id/test-tag/unique_dir 下方建立專屬的檔案系統目錄,用於儲存記錄。

LogFile saveLogData(String dataName, LogDataType dataType, InputStream dataStream)

儲存記錄資料。

如果 LogDataType.isCompressed()dataType 且已設定 compressed-files,系統會壓縮並儲存記錄檔,否則會儲存未壓縮的串流。

LogFile saveLogFile(String dataName, LogDataType dataType, File fileToLog)

儲存記錄檔。

void setCompressFiles(boolean compress)
void testModuleEnded()

報告測試模組已終止。

void testModuleStarted(IInvocationContext moduleContext)

回報測試模組的啟動時間。

受保護的方法

File createBuildDir(IBuildInfo buildInfo, File reportDir, String moduleName)

根據叫用項目的建構資訊取得或建立建構目錄的輔助方法。

File generateLogReportDir(IBuildInfo buildInfo, File reportDir, String moduleName)

公開的方法,可讓子類別自訂產生路徑邏輯。

公用建構函式

FileSystemLogSaver

public FileSystemLogSaver ()

公用方法

getLogReportDir

public LogFile getLogReportDir ()

取得 LogFile,其中包含記錄儲存目錄的路徑和/或網址。

傳回
LogFile LogFile

invocationEnded

public void invocationEnded (long elapsedTime)

回報是否因某種錯誤情況而終止呼叫 (無論是否成功)。

在呼叫 ITestInvocationListener.invocationEnded(long) 後,TradeFederation 架構會自動呼叫這個方法。

參數
elapsedTime long:以毫秒為單位的呼叫經過時間

invocationStarted

public void invocationStarted (IInvocationContext context)

回報測試呼叫的開始時間。

TradeFederation 架構會在呼叫 ITestInvocationListener.invocationStarted(IInvocationContext) 之前自動呼叫這個方法。

此外,請在 report-dir/[branch/]build-id/test-tag/unique_dir 下方建立專屬的檔案系統目錄,用於儲存記錄。如果目錄建立失敗,系統會將記錄寫入本機檔案系統的暫存目錄。

參數
context IInvocationContext:呼叫相關資訊。

saveLogData

public LogFile saveLogData (String dataName, 
                LogDataType dataType, 
                InputStream dataStream)

儲存記錄資料。

每當呼叫 ITestInvocationListener.testLog(String,LogDataType,InputStreamSource) 時,TradeFederation 架構就會自動呼叫這個方法。這個方法也可用於儲存額外的記錄資料。

視實作方式和政策而定,記錄可能會以壓縮形式儲存。 記錄檔也可能儲存在 Tradefed 無法存取的位置。

如果 LogDataType.isCompressed() 對於 dataType 傳回 false,且已設定 compressed-files,系統會將記錄檔壓縮並儲存;否則,系統會儲存未壓縮的串流。

參數
dataName String:資料的String說明名稱,例如「device_logcat」。

dataType LogDataType:檔案的 LogDataType

dataStream InputStream:資料的 InputStream

傳回
LogFile 包含儲存檔案路徑和網址的 LogFile

擲回
IOException

saveLogFile

public LogFile saveLogFile (String dataName, 
                LogDataType dataType, 
                File fileToLog)

儲存記錄檔。

每當呼叫 ITestInvocationListener.testLog(String,LogDataType,InputStreamSource) 且串流參照檔案時,TradeFederation 架構就會自動呼叫這個方法。

視實作方式和政策而定,記錄可能會以壓縮形式儲存。 記錄檔也可能儲存在 Tradefed 無法存取的位置。

參數
dataName String:資料的String說明名稱,例如「device_logcat」。

dataType LogDataType:檔案的 LogDataType

fileToLog File:要儲存的 File

傳回
LogFile 包含儲存檔案路徑和網址的 LogFile

擲回
IOException

setCompressFiles

public void setCompressFiles (boolean compress)

參數
compress boolean

testModuleEnded

public void testModuleEnded ()

報告測試模組已終止。

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

回報測試模組的啟動時間。

參數
moduleContext IInvocationContext:模組相關資訊。

受保護的方法

createBuildDir

protected File createBuildDir (IBuildInfo buildInfo, 
                File reportDir, 
                String moduleName)

根據叫用項目的建構資訊取得或建立建構目錄的輔助方法。

建立具有 report-dir/[branch/]build-id/test-tag 結構的專屬檔案系統目錄,用於儲存記錄。

參數
buildInfo IBuildInfoIBuildInfo

reportDir File:報表目錄的 File

moduleName String:測試模組的名稱

傳回
File 應儲存相同建構作業的呼叫項目目錄。

擲回
IOException 如果因為存在同名檔案或沒有寫入權限,而無法建立目錄。

generateLogReportDir

protected File generateLogReportDir (IBuildInfo buildInfo, 
                File reportDir, 
                String moduleName)

公開的方法,可讓子類別自訂產生路徑邏輯。

參數
buildInfo IBuildInfoIBuildInfo

reportDir File:報表目錄的 File

moduleName String:測試模組的名稱

傳回
File 建立的目錄。

擲回
IOException