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)

受保护的方法

File generateLogReportDir(IBuildInfo buildInfo, File reportDir)

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

公共构造函数

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)

保存日志数据。

每当调用 ITestLogger.testLog(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource) 时,TradeFederation 框架都会自动调用此方法。它还可用作辅助方法来保存其他日志数据。

日志可能会以压缩形式保存,具体取决于实现和政策。 日志还可以存储在 Tradefed 无法访问的位置。

如果 LogDataType.isCompressed() 针对 dataType 返回 false 且 compressed-files 已设置,则会压缩并保存日志文件;否则,将以未压缩的形式保存数据流。

参数
dataName String:数据的 String 描述性名称,例如“device_logcat”

dataType LogDataType:文件的 LogDataType

dataStream InputStream:数据的 ERROR(/InputStream)

返回
LogFile 包含已保存文件的路径和网址的 LogFile

saveLogFile

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

保存日志文件。

每当调用 ITestLogger.testLog(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource) 且数据流引用文件时,TradeFederation 框架都会自动调用此方法。

日志可能会以压缩形式保存,具体取决于实现和政策。 日志还可以存储在 Tradefed 无法访问的位置。

参数
dataName String:数据的 String 描述性名称,例如“device_logcat”

dataType LogDataType:文件的 LogDataType

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

返回
LogFile 包含已保存文件的路径和网址的 LogFile

setCompressFiles

public void setCompressFiles (boolean compress)

参数
compress boolean

受保护的方法

generateLogReportDir

protected File generateLogReportDir (IBuildInfo buildInfo, 
                File reportDir)

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

参数
buildInfo IBuildInfoIBuildInfo

reportDir File:报告目录的 ERROR(/File)

返回
File 创建的目录。