解决Logger在Android Studio 3.1版本无法正常加载tag格式

已经升级到Android Studio 3.1的同学可能会发现一个问题, Logcat中如果短时间出现多条日志tag相同, 只会显示第一条日志的tag, 后面的tag会自动隐藏, 这时com.orhanobut.logger.Logger原有的格式被破坏, 如下:

已经有人向Google提了issues, 3.2会解决这个问题.

目前我们可以使用一个取巧的版本来解决燃眉之急, 每次打印日志都改变tag内容, 会避免as自动合并tag

class DynamicTagStrategy : LogStrategy {
    private val prefix = arrayOf(
            ". ",
            " .")

    private var index = 0

    override fun log(priority: Int, tag: String?, message: String) {
        index = index xor 1
        Log.println(priority, prefix[index] + tag, message)
    }
}

val formatStrategy = PrettyFormatStrategy.newBuilder()
                .showThreadInfo(true)
                .logStrategy(DynamicTagStrategy())
                .tag("zhen")
                .build()
Logger.addLogAdapter(AndroidLogAdapter(formatStrategy))

使用后效果如下

posted @ 2018-06-19 11:54  Yusuzhan  阅读(963)  评论(0编辑  收藏  举报
Fork me on GitHub