どのように私はAndroidのログインに出力書くのですか?
質問
私はlogcatでそれを確認するためにログにいくつかのデバッグ出力を書きたいです。
私はSystem.outに何かを書く場合は、これはすでにlogcatに表示されます。
どのようなログへの書き込みにきれいな方法があると
?私の出力にレベルやタグを追加解決
android.util.Log
を調べてください。それは、さまざまなログレベルでログに書き込むことができます、そしてあなたは、出力グループに異なるタグを指定することができます。
たとえば、
Log.w("myApp", "no network");
意志出力タグmyappのとメッセージないネットワークとの警告。
他のヒント
タグは、単にのLogCatのの出力は非常に長く、時にはことができるので、あなたの出力を見つけやすくするために使用されます。あなたのクラスのどこかを定義することができます:
プライベート静的最終的な文字列タグ= "て、myApp"
デバッグするときに、それを使用する
Log.v(TAG、 "何かをした");
あなたにもタグのみを検索するためのフィルターを適用することができます。
使用android.util.Log
及び静的メソッド(例えば、e()
、w()
)が定義されます。
import android.util.Log;
し、
Log.i("the your message will go here");
この方法として、ログを参照してください。
Log.e("ApiUrl = ", "MyApiUrl") (error)
Log.w("ApiUrl = ", "MyApiUrl") (warning)
Log.i("ApiUrl = ", "MyApiUrl") (information)
Log.d("ApiUrl = ", "MyApiUrl") (debug)
Log.v("ApiUrl = ", "MyApiUrl") (verbose)
String one = object.getdata();
Log.d(one,"");
最近、私は私がスーパー素晴らしいと思いアンドロイドで書いてログインすると、このアプローチを見つけます。
public static final boolean FORCED_LOGGING = true;
private static final int CALLER_STACK_INDEX = 3;
public static void showLogs(String message) {
if (FORCED_LOGGING) {
StackTraceElement caller = Thread.currentThread().getStackTrace()[CALLER_STACK_INDEX];
String fullClassName = caller.getClassName();
String className = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);
String methodName = caller.getMethodName();
int lineNumber = caller.getLineNumber();
Log.i("*** " + className + "." + methodName + "():" + lineNumber + "\n" , message);
}
}
あなたはRDALoggerと呼ばれる私のlibaryを使用することができます。ここでgithubのリンクするます。
このライブラリを使用すると、メソッド名/クラス名/行番号とアンカーリンクを使用してメッセージをログに記録することができます。このリンクを使用すると、ログをクリックすると、画面にはこのコード行になります。
ライブラリを使用するには、下の実装を行う必要があります。
ルートレベルでのGradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
アプリケーションレベルでのGradle
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
ライブラリを初期化するために、あなたは(Application.class中または最初の使用の前に)次のように開始する必要があります。
RDALogger.start("TAG NAME").enableLogging(true);
そして、あなたはあなたが欲しいものは何でもログインできますより;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
そして最終的に出力を示しますあなたが望むすべて(クラス名、メソッド名、アンカーリンク、メッセージ)
08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29) /// IN METHOD : onCreate
info