Antworten:
Schau hinein android.util.Log
. Sie können mit verschiedenen Protokollebenen in das Protokoll schreiben und verschiedene Tags angeben, um die Ausgabe zu gruppieren. Beispielsweise
Log.w("myApp", "no network");
gibt eine Warnung mit dem Tag myApp und der Nachricht no network aus.
w
in Log.w(...)
steht für Warnung. Es gibt weitere Versionen: d
- Debug, e
- Fehler, i
- Info, v
- Ausführlich, wtf
- Was für ein schrecklicher Fehler. ;-)
Das Tag wird nur verwendet, um Ihre Ausgabe leicht zu finden, da die Ausgabe von LogCat manchmal sehr lang sein kann. Sie können irgendwo in Ihrer Klasse definieren:
private static final String TAG = "myApp";
und verwenden Sie es beim Debuggen
Log.v (TAG, "hat etwas getan");
Sie können auch einen Filter anwenden, um nur nach dem Tag zu suchen.
Verwendung android.util.Log
und die statischen Methoden dort definiert (zB e()
, w()
).
import android.util.Log;
und dann
Log.i("the your message will go here");
Bitte sehen Sie die Protokolle so,
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)
Sie können meine Bibliothek namens RDALogger verwenden. Hier ist Github Link .
Mit dieser Bibliothek können Sie Ihre Nachricht mit Methodenname / Klassenname / Zeilennummer und Ankerlink protokollieren. Wenn Sie über diesen Link auf Protokoll klicken, wechselt der Bildschirm zu dieser Codezeile.
Um die Bibliothek verwenden zu können, müssen Sie die folgenden Implementierungen durchführen.
im Wurzelniveau gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
in App Level Gradle
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Um die Bibliothek zu initialisieren, sollten Sie folgendermaßen beginnen (in Application.class oder vor der ersten Verwendung).
RDALogger.start("TAG NAME").enableLogging(true);
Und dann können Sie protokollieren, was Sie wollen;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
Und schließlich zeigt Ihnen die Ausgabe alles, was Sie wollen (Klassenname, Methodenname, Ankerlink, Nachricht).
08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29) /// IN METHOD : onCreate
info
String one = object.getdata();
Log.d(one,"");
Kürzlich fand ich diesen Ansatz zum Schreiben von Protokollen in Android, was ich super toll finde.
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);
}
}
log.d
?