首页
看点啥
插画图片
首页 科技看点 logcat:实践指南

logcat:实践指南

2026-09-11 0

工作中遇到相关需求时,logcat值得先读说明,因为它主要用于我CAN HAZ LOGZ。团队若要把它用于日常自动化,应先处理输入边界、依赖和失败处理如果不清楚就很难稳定复用,否则试用结果很容易失真。试跑可以从用一项范围明确的真实任务完成最小试跑开始,并把配置时间、输出质量、异常信息和维护痕迹写进验收记录。我的判断是,它更适合愿意先做小范围验证并复查原始文档的团队;若眼下没有这类需求,先保留观察即可。

方形日志猫

logcat { "I CAN HAZ LOGZ?" }

一个小型的 Kotlin API,用于在 Android 的普通 Log 类之上进行廉价日志记录。

目录

这个梦幻般的徽标是由 @rjrjr. 为您带来的

设置

logcat 依赖项添加到库或应用程序的 build.gradle 文件中:

dependencies {
  implementation 'com.squareup.logcat:logcat:0.4'
}

Application.onCreate()中安装AndroidLogcatLogger

import android.app.Application
import logcat.AndroidLogcatLogger
import logcat.LogPriority.VERBOSE

class ExampleApplication : Application() {
  override fun onCreate() {
    super.onCreate()
    // Log all priorities in debug builds, no-op in release builds.
    AndroidLogcatLogger.installOnDebuggableApp(this, minPriority = VERBOSE)
  }
}

用途

logcat() 函数有 3 个参数:可选优先级、可选标记和必需的 产生 lambda 的字符串。仅当安装了记录器并且记录器认为 可记录的优先级。

优先级默认为LogPriority.DEBUG

该标签默认为日志调用站点的类名,无需任何额外的运行时成本。这有效 因为 logcat()Any 的内联扩展函数,并且可以从中访问 this 它可以提取类名。如果从没有 this 的独立功能进行日志记录,请使用 logcat 重载需要标签参数。

logcat() 函数不采用 Throwable 参数。相反,图书馆提供 可抛出的扩展函数:Throwable.asLog(),它返回可记录的字符串。

import logcat.LogPriority.INFO
import logcat.asLog
import logcat.logcat

class MouseController {

  fun play() {
    val state = "CHEEZBURGER"
    logcat { "I CAN HAZ $state?" }
    // logcat output: D/MouseController: I CAN HAZ CHEEZBURGER?

    logcat(INFO) { "DID U ASK 4 MOAR INFO?" }
    // logcat output: I/MouseController: DID U ASK 4 MOAR INFO?

    logcat { exception.asLog() }
    // logcat output: D/MouseController: java.lang.RuntimeException: FYLEZ KERUPTED
    //                        at sample.MouseController.play(MouseController.kt:22)
    //                        ...

    logcat("Lolcat") { "OH HI" }
    // logcat output: D/Lolcat: OH HI
  }
}

动机

我们建造这个小型图书馆是为了满足广场的特定需求 销售点 应用程序。我们用过 木材 之前就很喜欢它的简单性 API 及其 DebugTree 自动确定其所属类别的能力 调用并使用该类名作为其标签。这是我们将其替换为的动机 广场销售点logcat()

喜欢(0)

上一篇

vpinball:实践指南

vpinball:实践指南

下一篇

tui-realm:实践指南

tui-realm:实践指南
猜你喜欢