Skip to main content

日志下载管理类

class ILogManager

描述 日志下载管理类

method configLogLocalPath

fun configLogLocalPath(path: String)

描述: 设置日志保存路径

输入参数:

path: 日志保存目录

输出参数:

method queryLogInfoList

fun queryLogInfoList(
sn: String,
deviceType: DeviceLogTypeEnum,
callback: CommonCallbacks.CompletionCallbackWithParam<DeviceSysLog?>
)

描述: 查询设备日志

输入参数:

sn: 设备SN

deviceType: 设备类型,参考:DeviceLogTypeEnum

callback:查询回调, 参考:DeviceSysLog

输出参数:

method queryLogRealTimeInfoList

fun queryLogRealTimeInfoList(callback: CommonCallbacks.CompletionCallbackWithParam<DeviceSysLog?>)

描述: 查询飞机实时日志

输入参数:

callback:查询回调, 参考:DeviceSysLog

输出参数:

method downloadPowerLog

fun downloadPowerLog(
powerLogs: List<DeviceSysOncePowerLog>,
callback: CommonCallbacks.DownLoadCallbackCompletionWithProgressAndFile<Double, DeviceSysLogModule>
)

描述: 按上电记录下载日志。

输入参数:

powerLogs:上电记录列表 参考:DeviceSysOncePowerLog

callback:查询回调 参考:DeviceSysLogModule

注:每完成一个DeviceSysLogModule,就会会通过 onProgressFileUpdate 通知

输出参数:

method downloadModuleLog

fun downloadModuleLog(
moduleLogs: List<DeviceSysLogModule>,
callback: CommonCallbacks.DownLoadCallbackCompletionWithProgressAndFile<Double, DeviceSysLogModule>
)

描述: 按模块下载日志

输入参数:

moduleLogs:设备模块列表(支持不同上电记录的模块放在一起下载),参考:DeviceSysLogModule

callback:查询回调

注:每完成一个DeviceSysLogModule,就会会通过 onProgressFileUpdate 通知

输出参数:

method deleteLog

fun deleteLog(powerLog: DeviceSysOncePowerLog, callback: CommonCallbacks.CompletionCallback)

描述: 删除上电记录日志

输入参数:

powerLog:上电记录日志,参考DeviceSysOncePowerLog

callback:查询回调

输出参数:

method deleteLog

fun deleteLog(moduleLog: DeviceSysLogModule, callback: CommonCallbacks.CompletionCallback)

描述: 删除模块日志

输入参数:

moduleLog:模块日志,参考DeviceSysLogModule

callback:查询回调

输出参数:

method canceldownload

fun canceldownload()

描述: 取消下载日志

输入参数:

输出参数:

DeviceLogTypeEnum

描述 设备类型枚举

enum class DeviceLogTypeEnum(var value: String) {
/** 未知 */
UNKOWN("Unkown"),
/** 遥控器 */
RC("RC"),
/** 无人机 */
DRONE("UAV"),
/** App */
APP("APP"),
/** 机巢 */
NEST("NEST");
}

DeviceSysLog

描述 日志信息

data class DeviceSysLog(
var type: DeviceLogTypeEnum, //日志类型
var sn: String, //设备SN
var powerLogList: List<DeviceSysOncePowerLog>, //上电记录列表
val deviceType: String = "" //设备类型
)

DeviceSysOncePowerLog

描述 上电日志信息

data class DeviceSysOncePowerLog(
var type: DeviceLogTypeEnum, //日志类型
var sn: String, //设备SN
var index: Int, //上电记录次序
var time: Long, //上电时间戳
var moduleList: List<DeviceSysLogModule> //设备模块日志列表
)

DeviceSysLogModule

描述 设备具体模块的日志信息

data class DeviceSysLogModule(
var mode: DeviceLogTypeEnum, //设备类型
var sn: String, //设备SN
var index: Int, //上电记录次序
var type: DeviceLogEnum, //日志类型
var time: Long, //上电时间戳
var size: Int, //模块日志大小,注:执行下载操作后才有值
var downPath: String = "", //日志文件下载地址,用户不用关心
var name: String = "", //日志名
var localPath: String = "" //日志下载后的地址,注:执行下载操作后才有值
)

DeviceLogEnum

描述 日志类型

enum class DeviceLogEnum(var value: String, val type: Int) {

/** unknown */
UNKOWN("Unkown", 0),

/**
* Rc Transmission
*/
RCTRANSMISSION("RcTransmission", 1),

/**
* Air Transmission
*/
AIRTRANSMISSION("AirTransmission", 2),

/**
* Air Skylink
*/
AIRSKYLINK("AirSkylink", 3),

/**
* Air Vision
*/
AIRVISION("AirVision", 4),

/**
* Rc Android
*/
RCANDROID("RcAndroid", 5),

/**
* Air Camera
*/
AIRCAMERA("AirCamera", 6),

/**
* NestAndroid
*/
NESTANDROID("NestAndroid", 7),

/**
* app
*/
APP("App", 8),

/**
* Only if the plane goes missing
*/
REALTIME("RealTime", 9),

/**
* Only the power-on record is available, but no module log is available
*/
POWERON("PowerON", 10);
}