FileSystemLogSaver
public
class
FileSystemLogSaver
extends Object
implements
ILogSaver
| java.lang.Object | |
| ↳ | com.android.tradefed.result.FileSystemLogSaver |
將記錄檔儲存至檔案系統。
摘要
公用建構函式 | |
|---|---|
FileSystemLogSaver()
|
|
公用方法 | |
|---|---|
LogFile
|
getLogReportDir()
取得 |
void
|
invocationEnded(long elapsedTime)
回報是否因某種錯誤狀況而終止呼叫 (無論是否成功)。 |
void
|
invocationStarted(IInvocationContext context)
回報測試呼叫的開始時間。 此外,請在 |
LogFile
|
saveLogData(String dataName, LogDataType dataType, InputStream dataStream)
儲存記錄資料。
如果 |
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 |
IBuildInfo:IBuildInfo |
reportDir |
File:報表目錄的 File。 |
moduleName |
String:測試模組的名稱 |
| 傳回 | |
|---|---|
File |
應儲存相同建構作業的呼叫項目目錄。 |
| 擲回 | |
|---|---|
IOException |
如果因為存在同名檔案或沒有寫入權限,而無法建立目錄。 |
generateLogReportDir
protected File generateLogReportDir (IBuildInfo buildInfo, File reportDir, String moduleName)
公開的方法,可讓子類別自訂產生路徑邏輯。
| 參數 | |
|---|---|
buildInfo |
IBuildInfo:IBuildInfo |
reportDir |
File:報表目錄的 File。 |
moduleName |
String:測試模組的名稱 |
| 傳回 | |
|---|---|
File |
建立的目錄。 |
| 擲回 | |
|---|---|
IOException |
|