私が取り組んでいるこのライブラリにロギングサポートを持たせたいのですが、AndroidとSEには独自のロギング方法があります。System.out.println
SEでは、メソッドまたはjava.util.logging.Logger
クラスを使用できます。Androidはandroid.util.Log
logcatへのログオンに使用します。最初はリフレクションを使用してAndroidが使用可能かどうかを確認し、次にリフレクションを使用してLog.class
;のlogメソッドを呼び出しました。しかし、それは良い考えではありませんでした。
私の解決策は、私のライブラリを使用している開発者にログを自分で処理させることです。彼らが設定したハンドラーインターフェースがあり、onLogメソッドがあります
public void onLog(int level, String tag, String msg);
ライブラリは、カスタムLoggerクラスのハンドラーでonLogメソッドを呼び出します。ライブラリ自体ではなく、開発者にログを処理させるのは良い考えですか?これまでのところ最善の解決策のようであり、私がそれを適切に文書化すれば、それは問題にはならないはずです。