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)
}
}