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(IBuildInfo buildInfo, File rootDir, Integer logRetentionDays, Boolean containInvDir)

创建 LogFileSaver

LogFileSaver(File rootDir)

一个替代的 LogFileSaver 构造函数,它只会将给定的目录用作日志存储目录。

公共方法

File createCompressedLogFile(String dataName, LogDataType origDataType)

创建一个空文件,用于存储压缩的日志数据。

OutputStream createGZipLogStream(File logFile)

创建输出流以将 GZIP 压缩的数据写入文件

InputStream createInputStreamFromFile(File logFile)

用于创建输入流以读取给定日志文件内容的辅助方法

TODO:考虑将此方法移至其他位置。

File getFileDir()

获取用于存储文件的目录。

List<String> 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 (IBuildInfo buildInfo, 
                File rootDir, 
                Integer logRetentionDays, 
                Boolean containInvDir)

创建 LogFileSaver

在 rootDir/branch/build_id/testTag/uniqueDir 中构建唯一的文件系统目录

如果目录创建失败,将使用临时目录。

参数
buildInfo IBuildInfoIBuildInfo

rootDir File:根文件系统路径

logRetentionDays Integer:如果提供,系统会将一个“.retention”文件写入日志目录,其中包含的时间戳等于当前时间 + logRetentionDays。外部清理脚本可以使用此文件来确定何时删除日志目录。

containInvDir Boolean

LogFileSaver

public LogFileSaver (File rootDir)

一种替代的 LogFileSaver 构造函数,它只会将给定的目录用作日志存储目录。

公共方法

createCompressedLogFile

public File createCompressedLogFile (String dataName, 
                LogDataType origDataType)

创建一个空文件,用于存储压缩的日志数据。

参数
dataName String:要存储的数据的描述性名称。String

origDataType LogDataType:要存储的 LogDataType 的类型

返回
File File

抛出
IOException 如果无法创建日志文件

createGZipLogStream

public OutputStream createGZipLogStream (File logFile)

创建输出流以将 GZIP 压缩的数据写入文件

参数
logFile File:要写入的 File

返回
OutputStream OutputStream 来压缩数据并将其写入文件。 此直播结束后

抛出
IOException 如果无法生成数据流

createInputStreamFromFile

public InputStream createInputStreamFromFile (File logFile)

用于创建输入流以读取给定日志文件内容的辅助方法

TODO:考虑将此方法移至其他位置。暂时放置在此处,以便此类用户进行模拟。

参数
logFile File:要读取的 File

返回
InputStream 用于读取文件数据的缓冲 InputStream。调用者必须在完成时调用此流

抛出
IOException 如果无法生成数据流

getFileDir

public File getFileDir ()

获取用于存储文件的目录。

返回
File File 目录

getInvocationLogPathSegments

public List<String> getInvocationLogPathSegments ()

返回
List<String> 唯一调用日志路径段。

saveAndGZipLogData

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

保存日志数据并根据需要将其压缩为 gzip 文件

参数
dataName String:数据的描述性名称(String)。

dataType LogDataType:文件的 LogDataType。日志数据(即 LogDataType.isCompressed()true

dataStream InputStream:数据的 InputStream

返回
File 生成的数据文件

抛出
IOException 如果无法生成日志文件

saveAndGZipLogFile

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

保存日志数据并根据需要将其压缩为 gzip 文件

参数
dataName String:数据的描述性名称(String)。

dataType LogDataType:文件的 LogDataType。日志数据(即 LogDataType.isCompressed()true

fileToLog File:要保存的 File

返回
File 生成的数据文件

抛出
IOException 如果无法生成日志文件

saveLogData

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

将日志数据保存到文件

参数
dataName String:数据的描述性名称(String)。

dataType LogDataType:文件的 LogDataType

dataStream InputStream:数据的 InputStream

返回
File 生成的数据文件

抛出
IOException 如果无法生成日志文件

saveLogDataRaw

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

将原始数据保存到文件

参数
dataName String:数据的描述性名称(String)。

ext String:日期的扩展名

dataStream InputStream:数据的 InputStream

返回
File 生成的数据文件

抛出
IOException 如果无法生成日志文件

saveLogFile

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

保存给定的日志文件

参数
dataName String:数据的描述性名称(String)。

dataType LogDataType:文件的 LogDataType

fileToLog File:要记录的 File

返回
File 生成的数据文件

抛出
IOException 如果无法生成日志文件