LoginSignup
0
1

More than 5 years have passed since last update.

Androidでjava.util.loggingのINFOより低レベルのログを出力する方法

Posted at

なんで標準のandroid.util.Logを使わないの?

普通はandroid.util.Logを使えばいいかと思います。
Android用じゃないライブラリを使ったときに、内部で埋め込まれてるDEBUGレベルのログが出力されなくて困ったときの対応でした。

なんで出力されないのか

以下のStackoverflowの回答の通り。

What is broken is the default logging handler shipped with Android, it ignores any log messages with level finer than INFO. You don't see DEBUG etc. messages.

The reason is the call to Log.isLoggable() in AndroidHandler.java:
https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/logging/AndroidHandler.java

対応方法

上記の回答とともに紹介されているように、独自のHandlerを用意してログレベルを強制的に変更することで出力されるようになりました。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AndroidLoggingHandler.reset(new AndroidLoggingHandler());
    java.util.logging.Logger.getLogger("my.category").setLevel(Level.FINEST);
...

デバッグ目的ならこれでいいかなと。地味に助かる!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1