記錄檔儲存工具

public class LogFileSaver
extends Object

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


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

摘要

公用建構函式

LogFileSaver(IBuildInfo buildInfo, File rootDir, Integer logRetentionDays)

可建立 LogFileSaver

LogFileSaver(IBuildInfo buildInfo, File rootDir)

可建立 LogFileSaver

LogFileSaver(File rootDir)

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

公用方法

File createCompressedLogFile(String dataName, LogDataType origDataType)

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

OutputStream createGZipLogStream(File logFile)

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

InputStream createInputStreamFromFile(File logFile)

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

待辦事項:請考慮將這個方法移到其他地方。

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)

儲存指定的記錄檔

公用建構函式

記錄檔儲存工具

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

可建立 LogFileSaver

在 rootDir/branch/build_id/testTag/uniqueDir 中建構不重複的檔案系統目錄

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

參數
buildInfo IBuildInfoIBuildInfo

rootDir File:根檔案系統路徑

logRetentionDays Integer:如果提供「.retention」檔案將寫入記錄目錄 包含的時間戳記等於目前時間 + log 保留 Days。外部清理 指令碼可以使用這個檔案判斷何時刪除記錄目錄。

記錄檔儲存工具

public LogFileSaver (IBuildInfo buildInfo, 
                File rootDir)

可建立 LogFileSaver

在 rootDir/branch/build_id/uniqueDir 中建構不重複的檔案系統目錄

參數
buildInfo IBuildInfoIBuildInfo

rootDir File:根檔案系統路徑

記錄檔儲存工具

public LogFileSaver (File rootDir)

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

公用方法

建立壓縮記錄檔

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)

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

待辦事項:請考慮將這個方法移到其他地方。暫時移到這裡, 模擬這個課程的使用者

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

傳回
InputStream 用來讀取檔案資料的緩衝 ERROR(/InputStream)。來電者必須撥打 完成時,這個串流

擲回
表示無法產生串流

getFileDir

public File getFileDir ()

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

傳回
File ERROR(/File) 目錄

getInvocationLogPathSegments

public  getInvocationLogPathSegments ()

傳回
不重複的叫用記錄路徑片段

儲存且 GZipLogData

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 產生的資料檔案

擲回
如果無法產生記錄檔