FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 小程序信息管理

# 1. Log日志初始化配置

安卓SDK 中的Log日志管理是随初始化配置项一起设置的。

// 设置Log日志文件的存放文件夹
public Builder setXLogDir(File xLogDir);
// 设置Log日志的等级,只有高于该等级的Log才会写入。
public Builder setLogLevel(XLogLevel logLevel);
// 设置日志文件保留时间(默认10天,至少为1天)
public Builder setLogMaxAliveSec(long logMaxAliveSec);

示例代码:

val config = FinAppConfig.Builder()
                // 其它配置项省略
                .setXLogDir(logDir)
                .setLogLevel(XLogLevel.LEVEL_VERBOSE)
                .setLogMaxAliveSec(7*24*60*60);
                .build()
 
FinAppClient.init(application, config, object : FinCallback<Any?> {})

# 1.1. 设置Log日志文件存放的文件夹

// 设置Log日志文件的存放文件夹
public Builder setXLogDir(File xLogDir);

# 1.2. 设置Log日志的等级

// 设置Log日志的等级,只有高于该等级的Log才会写入。
public Builder setLogLevel(XLogLevel logLevel);

# 1.3. 设置日志文件保留时间

// 设置日志文件保留时间(默认10天,至少为1天),单位秒
public Builder setLogMaxAliveSec(long logMaxAliveSec);

# 2. 接管SDK内的日志记录系统

创建自己的日志记录类,并实现IAppletLogDelegate接口,示例如下:

class LogDelegate : IAppletLogDelegate {

    override fun logMessage(content: String) {
        val file = getLogFile()
        file.appendText("${content}\n")
    }
}

在初始化SDK时,设置此日志记录类:

 val finAppConfig = FinAppConfig.Builder()
			// 其它配置项省略
            .setLogDelegate(LogDelegate::class.java)
            .build()
FinAppClient.init(application, finAppConfig, finCallback)

有相关日志信息产生时,会调用logMessage方法,其中参数content为完整日志内容,包含【日志时间】、【日志等级】【日志Tag】【日志详情】。

注意1:一旦设置该类,则配置项中的setLogLevelsetLogMaxAliveSecsetXLogDir等配置项将会失效,SDK将不会自动记录、持久化日志,均需要客户端自行处理。

注意2:该类将会在SDK运行时通过反射手段进行实例化,因此请务必包含且仅包含无参的构造方法。

注意3:该类的实例可能运行在不同进程中,因此若需要记录一些临时变量,请勿直接记录在该类内部,并且视情况做好进程判断处理。

# 3. 获取SDK内的性能统计记录

创建自己的性能统计记录类,并实现IAppletPerformanceRecordDelegate接口,示例如下:

class PerformanceRecordDelegate : IAppletPerformanceRecordDelegate {

    override fun appletReceivePerformanceRecords(
        appInfo: FinAppInfo,
        performance: Performance
    ) {
        val file = getLogFile()
        file.appendText("${Gson().toJson(performance)}\n")
    }
}

在初始化SDK时,设置此性能统计记录类:

 val finAppConfig = FinAppConfig.Builder()
			// 其它配置项省略
            .setPerformanceRecordDelegate(PerformanceRecordDelegate::class.java)
            .build()
FinAppClient.init(application, finAppConfig, finCallback)

有相关性能统计记录产生时,会调用appletReceivePerformanceRecords方法,其中参数包含了此条性能记录对应的小程序信息appInfo,以及性能记录详情performance类。

注意1:该类将会在SDK运行时通过反射手段进行实例化,因此请务必包含且仅包含无参的构造方法。

注意2:该类的实例可能运行在不同进程中,因此若需要记录一些临时变量,请勿直接记录在该类内部,并且视情况做好进程判断处理。

© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

0755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单