一个用于 Android 应用的内存泄漏检测库,可在调试阶段自动报告泄漏对象。
JakeWharton/timber
一个小巧可扩展的 Android 日志库,在系统 Log 类之上提供可插拔的 Tree 输出机制。
- Star
- 10,852
- Fork
- 994
- 未关闭 Issue
- 63
- 最近提交
- 3天前
这是什么?
Timber 是一个面向 Android 的日志库,构建在系统 android.util.Log 之上。调用方不必每次手动指定 tag,而是直接使用 Timber 的静态方法打日志,具体行为由启动时安装的 Tree 实例决定。
内置的 DebugTree 会自动把调用它的类名作为日志 tag,便于配合 Pidcat 等日志工具过滤查看。默认不安装任何 Tree,生产环境的日志行为完全由应用自行决定。开发者也可以实现自定义 Tree,把日志转发到崩溃上报等其他目标。
库中还附带 Android Lint 规则,可检查格式化字符串的参数数量和类型、过长的 tag、应使用 Timber 却直接调用 Log 的情况,以及冗余的异常信息记录。
核心功能
- 01通过启动时安装的可插拔 Tree 实例处理日志输出。
- 02DebugTree 自动将调用类名作为日志 tag。
- 03默认不安装任何 Tree,生产环境日志由应用自行配置。
- 04内置 Lint 规则,检查格式参数、tag 长度和 Log 的使用方式。
适用场景
- 在 Android 应用中用统一的日志 API 替代分散的 android.util.Log 调用。
- 通过自定义 Tree 将线上构建的日志发送到崩溃上报服务。
- 配合 Pidcat 等工具按类名过滤调试日志。
快速上手
- 1
在 Gradle 构建文件中添加 README 中的 Timber 依赖
- 2
在应用的 onCreate 中安装 Tree,然后调用 Timber 的静态方法
使用前须知
- 仅适用于 Android,基于平台的 Log 类构建。
- 默认不安装任何 Tree,因此必须自行安装,否则不会输出任何日志。
收录于专题
标签
常见问题
- timber 是什么?
- 一个小巧可扩展的 Android 日志库,在系统 Log 类之上提供可插拔的 Tree 输出机制。 Timber 是一个面向 Android 的日志库,构建在系统 android.util.Log 之上。调用方不必每次手动指定 tag,而是直接使用 Timber 的静态方法打日志,具体行为由启动时安装的 Tree 实例决定。
- timber 可以免费使用吗?用的什么许可证?
- timber 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- timber 还在维护吗?
- 活跃维护中。timber 最近一次提交是在 2026年11月4日。
- timber 适合用来做什么?
- 在 Android 应用中用统一的日志 API 替代分散的 android.util.Log 调用。 通过自定义 Tree 将线上构建的日志发送到崩溃上报服务。 配合 Pidcat 等工具按类名过滤调试日志。
- timber 怎么安装和运行?
- 在 Gradle 构建文件中添加 README 中的 Timber 依赖 在应用的 onCreate 中安装 Tree,然后调用 Timber 的静态方法
- 在哪里获取 timber?
- 源代码和安装说明在 GitHub 上:https://github.com/JakeWharton/timber
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Python 日志库,用一个 logger 替代标准 logging 的繁琐配置,支持文件轮转、彩色输出和结构化日志。
一个轻量的 JavaScript 调试工具,按命名空间输出调试信息,适用于 Node.js 与浏览器,通过 DEBUG 环境变量开关。
Python 调试工具,用 ic() 替代 print(),同时输出变量名、表达式及其值,并支持格式化和语法高亮。
一款低开销的 Python 追踪工具,将代码执行过程记录并以交互式时间线可视化。
一款 PHP 开发调试工具,在浏览器中展示请求、数据库查询、日志、时间线等运行时信息,主要用于 Laravel 应用。