跳转至

Log 配置

Log 初始化配置

FTSdk.initLogWithConfig(new FTLoggerConfig()
    //.setEnableConsoleLog(true, "log prefix")
    .setEnableLinkRumData(true)
    .setEnableCustomLog(true)
    //.setLogLevelFilters(new Status[]{Status.CRITICAL, Status.ERROR})
    .setSamplingRate(0.8f));
FTSdk.initLogWithConfig(
    FTLoggerConfig()
        //.setEnableConsoleLog(true, "log prefix")
        .setEnableLinkRumData(true)
        .setEnableCustomLog(true)
        //.setLogLevelFilters(arrayOf(Status.CRITICAL, Status.ERROR))
        .setSamplingRate(0.8f)
)
方法名 类型 必须 含义
setSamplingRate Float 设置采集率,取值范围 [0,1],0 表示不采集,1 表示全采集,默认值为 1
setEnableConsoleLog Boolean 是否上报控制台日志,该配置依赖 ft-plugin,默认 false。日志等级对应关系为:Log.v -> okLog.i -> infoLog.d -> debugLog.e -> errorLog.w -> warningprefix 为控制前缀过滤参数,默认不设置过滤。注意:Android 控制台日志量是很大的,为了避免影响应用性能,减少不必要的资源浪费,建议使用 prefix 过滤出有价值的日志。ft-plugin 1.3.5 以上版本,支持捕获 Log.println 打印的日志
setEnableLinkRUMData Boolean 是否与 RUM 数据关联,默认为 false
setEnableCustomLog Boolean 是否上传自定义日志,默认为 false
setLogLevelFilters Array 设置等级日志过滤,默认不设置
addGlobalContext Dictionary 添加 log 全局属性,添加规则请查阅此处
setLogCacheLimitCount Int 本地缓存最大日志条目数量限制 [1000,),日志越大,代表磁盘缓存压力越大,默认为 5000
setLogCacheDiscardStrategy LogCacheDiscard 设置日志达到限制上限以后的日志丢弃规则,默认为 LogCacheDiscard.DISCARDDISCARD 为丢弃追加数据,DISCARD_OLDEST 丢弃老数据

Logger 日志打印

通过使用 FTLogger 进行自定义日志输出,需要开启 FTLoggerConfig.setEnableCustomLog(true)

目前日志内容限制为 30 KB,字符超出部分会进行截断处理。

使用方法

/**
 * 将单条日志数据存入本地同步
 *
 * @param content 日志内容
 * @param status  日志等级,enum Status
 * @param property 附加属性(可选)
 */
public void logBackground(String content, Status status, HashMap<String, Object> property)

/**
 * 将单条日志数据存入本地同步
 *
 * @param content 日志内容
 * @param status  日志等级,String
 * @param property 附加属性(可选)
 */
public void logBackground(String content, String status, HashMap<String, Object> property)

/**
 * 将多条日志数据存入本地同步
 *
 * @param logDataList {@link LogData} 列表
 */
public void logBackground(List<LogData> logDataList)
/**
 * 将单条日志数据存入本地同步
 *
 * @param content 日志内容
 * @param status  日志等级
 * @param property 日志属性(可选)
 */
fun logBackground(content: String, status: Status, property: HashMap<String, Any>)

/**
 * 将单条日志数据存入本地同步
 *
 * @param content 日志内容
 * @param status  日志等级
 * @param property 日志属性(可选)
 */
fun logBackground(content: String, status: String, property: HashMap<String, Any>)

/**
 * 将多条日志数据存入本地同步
 *
 * @param logDataList 日志数据列表
 */
fun logBackground(logDataList: List<LogData>)

日志等级

方法名 含义
Status.DEBUG 调试
Status.INFO 提示
Status.WARNING 警告
Status.ERROR 错误
Status.CRITICAL 严重
Status.OK 恢复

代码示例

// 上传单个日志
FTLogger.getInstance().logBackground("test", Status.INFO);

// 传递参数到 HashMap
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
FTLogger.getInstance().logBackground("test", Status.INFO, map);

// 批量上传日志
List<LogData> logList = new ArrayList<>();
logList.add(new LogData("test", Status.INFO));
FTLogger.getInstance().logBackground(logList);
// 上传单个日志
FTLogger.getInstance().logBackground("test", Status.INFO)

// 传递参数到 HashMap
val map = HashMap<String, Any>()
map["ft_key"] = "ft_value"
FTLogger.getInstance().logBackground("test", Status.INFO, map)

// 批量上传日志
FTLogger.getInstance().logBackground(mutableListOf(LogData("test", Status.INFO)))

文档评价

文档内容是否对您有帮助? ×