Repolode
JakeWharton

JakeWharton/timber

AndroidのプラットフォームLogクラスを、差し替え可能なTreeバックエンドでラップする、軽量で拡張性の高いログライブラリ。

スター
10,852
フォーク
994
未解決の Issue
63
最終コミット
3 日前

これは何?

Timberは、Androidのプラットフォームにあるandroid.util.Logクラスの上に構築されたログライブラリです。毎回タグを手動で指定してLogを直接呼び出す代わりに、staticなTimberメソッドを呼び出し、起動時に登録したTreeインスタンスによって動作を制御します。

同梱のDebugTreeは、呼び出し元のクラス名をログタグとして自動的に使用するため、Pidcatなどのツールでログを簡単に絞り込めます。デフォルトではTreeが登録されないため、本番環境でのログ出力はアプリ側で全面的に制御できます。開発者は独自のTree実装を作成し、メッセージをクラッシュレポートなどの送信先に振り分けられます。

TimberにはAndroid Lintルールも組み込まれており、フォーマット文字列の引数の数や型の不一致、長すぎるタグ、TimberではなくLogを直接使っている箇所、例外メッセージの冗長なログ出力を検出します。

主な機能

  • 01アプリの起動時に登録した差し替え可能なTreeインスタンスを通じてログを出力します。
  • 02DebugTreeは呼び出し元のクラス名をログタグとして自動的に使用します。
  • 03デフォルトのTreeはなく、本番環境でのログ出力はアプリ側に委ねられます。
  • 04フォーマット引数、タグの長さ、Logの使用に関するLintルールを組み込んでいます。

ユースケース

  • Androidアプリに散在するandroid.util.Logの呼び出しを、統一されたログAPIに置き換える。
  • 独自のTreeを通じて、本番ビルドのログをクラッシュレポートサービスに送信する。
  • Pidcatなどのツールで、クラス名を使ってデバッグログを絞り込む。

クイックスタート

  1. 1

    README に記載されている Timber の依存関係を Gradle ビルドに追加します

  2. 2

    アプリケーションの onCreate で Tree をインストールし、Timber の static メソッドを呼び出します

使う前に知っておきたいこと

  • Android 専用で、プラットフォームの Log クラスを基盤としています。
  • デフォルトでは Tree がインストールされないため、自分で Tree を植えないとログは記録されません。

収録されている特集

トピック

よくある質問

timber とは?
AndroidのプラットフォームLogクラスを、差し替え可能なTreeバックエンドでラップする、軽量で拡張性の高いログライブラリ。 Timberは、Androidのプラットフォームにあるandroid.util.Logクラスの上に構築されたログライブラリです。毎回タグを手動で指定してLogを直接呼び出す代わりに、staticなTimberメソッドを呼び出し、起動時に登録したTreeインスタンスによって動作を制御します。
timber は無料で使えますか?ライセンスは?
timber は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
timber は今もメンテナンスされていますか?
活発にメンテナンス中。timber の最終コミットは 2026年11月4日 です。
timber は何に使えますか?
Androidアプリに散在するandroid.util.Logの呼び出しを、統一されたログAPIに置き換える。 独自のTreeを通じて、本番ビルドのログをクラッシュレポートサービスに送信する。 Pidcatなどのツールで、クラス名を使ってデバッグログを絞り込む。
timber のインストール方法は?
README に記載されている Timber の依存関係を Gradle ビルドに追加します アプリケーションの onCreate で Tree をインストールし、Timber の static メソッドを呼び出します
timber はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/JakeWharton/timber

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト