跳到主要内容

Tracer 的自定义日志记录

注意

该门户网站正在开发中。文档的完整版本请看这里.

这些信息涉及 Tracer SDK 的自定义日志记录。它与 SDK 发送到服务器的内容无关。自定义日志记录仅用于 Tracer SDK 本身及其在您项目中的集成。

HasTracerLogger 和 TracerLoggerDelegate 描述

追踪器通过 TracerLoggerDelegate 接口进行所有内部日志记录。要更换日志记录机制,请在您的应用中实现 HasTracerLogger。

如果您只想更改日志记录级别,可以创建 DefaultTracerLoggerDelegate 实例:

class MyApplication : Application, HasTracerLogger {
override val tracerLoggerDelegate: TracerLoggerDelegate
get() = DefaultTracerLoggerDelegate(
minLogPriority = Log.VERBOSE,
)
}

您可以在自己的 TracerLoggerDelegate 实现中完全重写日志记录机制:

  class MyApplication : Application, HasTracerLogger {
    override val tracerLoggerDelegate: TracerLoggerDelegate
        get() = MyLoggerDelegate()}class MyLoggerDelegate : TracerLoggerDelegate {
    // 从哪个级别开始记录事件。使用 android.util.Log 的常量
    // 默认为 Log.DEBUG
    override val minLogPriority: Int
        get() = Log.VERBOSE
        // 主要的日志记录方法
    //
    // priority - 日志级别。使用 android.util.Log 的常量
    // msg - 可选的信息.
    // tr - 可选的异常.
    override fun println(priority: Int, msg: String?, tr: Throwable?) {
        // 这里是您的日志记录代码
        TODO()
        // 可选择转发到内置实现
        // 将以 ru.ok.tracer 标签发送到 android logcatDefaultTracerLoggerDelegate.println(priority, msg, tr)
    }
}