LogFileSaver

public class LogFileSaver
extends Object

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


ITestInvocationListener 的輔助程式,可將記錄資料儲存到檔案

摘要

公用建構函式

LogFileSaver(IBuildInfo buildInfo, File rootDir)

建立 LogFileSaver

LogFileSaver(IBuildInfo buildInfo, File rootDir, Integer logRetentionDays)

建立 LogFileSaver

LogFileSaver(File rootDir)

備用 LogFileSaver 建構函式,只會使用指定的目錄做為記錄儲存目錄。

公用方法

File createCompressedLogFile(String dataName, LogDataType origDataType)

建立空白檔案,用於儲存壓縮的記錄資料。

OutputStream createGZipLogStream(File logFile)

建立輸出串流,以便將 GZIP 壓縮資料寫入檔案

InputStream createInputStreamFromFile(File logFile)

建立輸入串流的輔助方法,用來讀取指定記錄 Fi 的內容

TODO:請考慮將此方法移至其他位置。

File getFileDir()

取得用來儲存檔案的目錄。

getInvocationLogPathSegments()
File saveAndGZipLogData(String dataName, LogDataType dataType, InputStream dataStream)

儲存及壓縮記錄資料 (如有必要) 至 gzip 檔案

File saveAndGZipLogFile(String dataName, LogDataType dataType, File fileToLog)

儲存及壓縮記錄資料 (如有必要) 至 gzip 檔案

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

將記錄資料儲存到檔案

File saveLogDataRaw(String dataName, String ext, InputStream dataStream)

將原始資料儲存至檔案

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

儲存指定的記錄檔案

公用建構函式

LogFileSaver

public LogFileSaver (IBuildInfo buildInfo, 
                File rootDir)

建立 LogFileSaver

在 rootDir/branch/build_id/uniqueDir 中建構專屬的檔案系統目錄

參數
buildInfo IBuildInfoIBuildInfo

rootDir File:根目錄檔案系統路徑

LogFileSaver

public LogFileSaver (IBuildInfo buildInfo, 
                File rootDir, 
                Integer logRetentionDays)

可建立 LogFileSaver

在 rootDir/branch/build_id/testTag/uniqueDir 中建構專屬的檔案系統目錄

如果目錄建立作業失敗,系統會使用臨時目錄。

參數
buildInfo IBuildInfoIBuildInfo

rootDir File:根目錄檔案系統路徑

logRetentionDays Integer:如果提供此參數,系統會將「.retention」檔案寫入記錄目錄,其中包含與「logRetentionDays」相加的目前時間的時間戳記。外部清理指令碼可以使用這個檔案判斷刪除記錄目錄的時機。

LogFileSaver

public LogFileSaver (File rootDir)

替代的 LogFileSaver 建構函式,只會使用指定目錄做為記錄檔儲存空間目錄。

公用方法

createCompressedLogFile

public File createCompressedLogFile (String dataName, 
                LogDataType origDataType)

建立空白檔案,用於儲存壓縮的記錄資料。

參數
dataName String:要儲存的資料的 String 描述性名稱。

origDataType LogDataType:要儲存的 LogDataType 類型

傳回
File ERROR(/File)

擲回
如果無法建立記錄檔

createGZipLogStream

public OutputStream createGZipLogStream (File logFile)

建立輸出串流,將 GZIP 壓縮資料寫入檔案

參數
logFile File:要寫入的 ERROR(/File)

傳回
OutputStream ERROR(/OutputStream) 壓縮並將資料寫入檔案。完成時,這個串流

擲回
如果無法產生串流

createInputStreamFromFile

public InputStream createInputStreamFromFile (File logFile)

輔助方法,用於建立輸入串流,以便讀取指定記錄檔的內容

TODO:請考慮將此方法移至其他位置。目前放在此處,以便讓這個類別的使用者模擬。

參數
logFile File:要讀取的 ERROR(/File)

傳回
InputStream 使用緩衝的 ERROR(/InputStream) 讀取檔案資料。完成後,呼叫端必須呼叫這個串流

擲回
如果無法產生串流

getFileDir

public File getFileDir ()

取得用來儲存檔案的目錄。

傳回
File ERROR(/File) 目錄

getInvocationLogPathSegments

public  getInvocationLogPathSegments ()

傳回
專屬的叫用記錄路徑區段。

saveAndGZipLogData

public File saveAndGZipLogData (String dataName, 
                LogDataType dataType, 
                InputStream dataStream)

儲存及壓縮記錄資料 (如有必要) 至 gzip 檔案

參數
dataName String:資料的 String 描述性名稱。

dataType LogDataType:檔案的 LogDataType。記錄資料 (例如 LogDataType#isCompressed()true)

dataStream InputStream:資料的 ERROR(/InputStream)

傳回
File 產生資料的檔案

擲回
如果無法產生記錄檔

saveAndGZipLogFile

public File saveAndGZipLogFile (String dataName, 
                LogDataType dataType, 
                File fileToLog)

視需要將記錄資料儲存並壓縮成 gzip 檔案

參數
dataName String:資料的 String 描述性名稱。

dataType LogDataType:檔案的 LogDataType。記錄資料 (例如 LogDataType.isCompressed()true)

fileToLog File:要儲存的 ERROR(/File)

傳回
File 產生資料的檔案

擲回
如果無法產生記錄檔案

儲存記錄資料

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

將記錄資料儲存至檔案

參數
dataName String:資料的 String 描述性名稱。

dataType LogDataType:檔案的 LogDataType

dataStream InputStream:資料的 ERROR(/InputStream)

傳回
File 產生資料的檔案

擲回
如果無法產生記錄檔

SaveLogDataRaw

public File saveLogDataRaw (String dataName, 
                String ext, 
                InputStream dataStream)

將原始資料儲存至檔案

參數
dataName String:資料的 String 描述性名稱。

ext String:日期的擴充功能

dataStream InputStream:資料的 ERROR(/InputStream)

傳回
File 產生資料的檔案

擲回
如果無法產生記錄檔

儲存記錄檔

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

儲存指定的記錄檔案

參數
dataName String:資料的 String 描述性名稱。

dataType LogDataType:檔案的 LogDataType

fileToLog File:要記錄的 ERROR(/File)

傳回
File 產生資料的檔案

擲回
如果無法產生記錄檔