Androidのログ出力にファイル名、行番号を付ける

こんにちわ。猫好きリーマンのほげPGです。
今回はAndroidでのログ出力について紹介します。


Androidでのログ出力は

  • Log4j
  • Logback
  • Timber

など色々ありますが、
logcatに好みのフォーマット(アプリ単位のタグ、ファイル名:行番号)での出力ができるものがなかった(見つけることが出来なかった)。

ということで自分で作ることにしました。

 

構成は SLF4J –> Adaptor(※1) –> android.util.Log という感じ

※1 今回作成する部分

利用イメージはこんな感じになります。

利用シーケンス

 

作成クラスは org.slf4j:slf4j-android:jar:1.7.21をベースに3クラスほど。

AndroidLoggerFactory ロガーのファクトリー。タグを加工しないように修正
AndroidLoggerAdapter ロガークラス。Android.util.Logに出力のメッセージにファイル名、行番号を追加。
AndroidLoggerConfig ロガー設定クラス。フォーマットやタグを設定する。

使用サンプルはこんな感じ

なんとなくLog4jぽくレベル設定もできるようにしました。
出力例)

これでソースコードへジャンプできます。
slf4j-android-log.jarとプロジェクトを以下に置きます。
http://www.ois-yokohama.co.jp/oisblog/file/slf4j-android-log-1.0.jar
http://www.ois-yokohama.co.jp/oisblog/file/MyApplication.zip

時間があったらGitHubへアップします…。

次回はAndroidアプリの起動処理を題材にScene Producer パターンのサンプルを作成します。


2016/11/21
githubへアップしました。
https://github.com/geobardi/slf4j-android

build.gradle の設定は以下になります。

 
オリエンタルインフォーメイションサービス(OIS)