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 返回 false 且设置了 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)

一种辅助方法,用于根据调用的 build 信息获取或创建 build 目录。

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)

报告测试调用的开始。

在调用 ITestInvocationListener.invocationStarted(IInvocationContext) 之前,TradeFederation 框架会自动调用此方法。

此外,在 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)

一种辅助方法,用于根据调用的 build 信息获取或创建 build 目录。

创建一个具有 report-dir/[branch/]build-id/test-tag 结构的唯一文件系统目录,用于保存日志。

参数
buildInfo IBuildInfoIBuildInfo

reportDir File:报告目录的 File

moduleName String:测试模块的名称

返回
File 应保存同一 build 的调用的目录。

抛出
IOException 如果无法创建目录,是因为存在同名文件或没有写入权限。

generateLogReportDir

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

一种公开的方法,允许子类自定义生成路径逻辑。

参数
buildInfo IBuildInfoIBuildInfo

reportDir File:报告目录的 File

moduleName String:测试模块的名称

返回
File 创建的目录。

抛出
IOException