Skip to content

Latest commit

 

History

History
63 lines (42 loc) · 1.8 KB

log_zh.md

File metadata and controls

63 lines (42 loc) · 1.8 KB

日志

翻译:English

Sketch 的日志由 Logger 组件提供服务,Tag 统一为 Sketch

修改 Level

和大多数日志框架一样,Logger 也通过 Logger.Level 控制输出日志的级别,默认为 Info

你可以在任何时候修改 level,如下:

// 在初始哈 Sketch 时
Sketch.Builder(context).apply {
    logger(level = Logger.Level.Debug)
}.build()

// 在其它任何时候
context.sketch.logger.level = Logger.Level.Debug

Tip

过多的日志会影响 UI 流畅度,正式发布版本请将 level 设置为 Info 及以上级别

修改输出

Logger 通过 Logger.Pipeline 接口输出日志,在 Android 平台上 Logger.Pipeline 的实现是 AndroidLogPipeline,非 Android 平台上是 PrintLogPipeline

你可以实现 Logger.Pipeline 接口自定义新的输出,然后在初始化 Sketch 时使用它,如下:

class MyPipeline : Logger.Pipeline {

    override fun log(level: Logger.Level, tag: String, msg: String, tr: Throwable?) {
        if (tr != null) {
            val trString = tr.stackTraceToString()
            println("$level. $tag. $msg. \n$trString")
        } else {
            println("$level. $tag. $msg")
        }
    }

    override fun flush() {

    }

    override fun toString(): String = "MyPipeline"
}

Sketch.Builder(context).apply {
    logger(pipeline = MyPipeline())
}.build()