Je veux écrire quelques résultats de débogage dans le journal pour l'examiner avec logcat.
Si j'écris quelque chose dans System.out, cela est déjà affiché dans logcat.
Quelle est la méthode la plus simple pour écrire dans le journal et ajouter des niveaux et des balises à ma sortie?
Regardez dans Android.util.Log
. Il vous permet d'écrire dans le journal avec différents niveaux de journal et vous pouvez spécifier différentes balises pour regrouper la sortie. Par exemple
_Log.w("myApp", "no network");
_
affichera un avertissement avec la balise myApp et le message no network.
La balise est simplement utilisée pour trouver facilement votre sortie, car la sortie de LogCat peut être parfois très longue. Vous pouvez définir quelque part dans votre classe:
private static final String TAG = "monApp";
et l'utiliser lors du débogage
Log.v (TAG, "a fait quelque chose");
Vous pouvez également appliquer un filtre pour rechercher uniquement la balise.
Utilisez Android.util.Log
et les méthodes statiques définies ici (par exemple, e()
, w()
).
import Android.util.Log;
puis
Log.i("the your message will go here");
S'il vous plaît voir les journaux comme ceci,
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)
Récemment, j'ai trouvé cette approche pour écrire des journaux dans Android, ce qui me semble génial.
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);
}
}
String one = object.getdata();
Log.d(one,"");
Vous pouvez utiliser ma bibliothèque appelée RDALogger. Voici github lien .
Avec cette bibliothèque, vous pouvez enregistrer votre message avec le nom de la méthode/le nom de la classe/le numéro de ligne et le lien d'ancrage. Avec ce lien, lorsque vous cliquez sur Journal, l’écran affiche cette ligne de code.
Pour utiliser la bibliothèque, vous devez effectuer les implémentations ci-dessous.
en niveau de racine
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dans le niveau de l'application
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Pour initialiser la bibliothèque, vous devriez commencer comme ça (dans Application.class ou avant la première utilisation)
RDALogger.start("TAG NAME").enableLogging(true);
Et que vous pouvez vous connecter ce que vous voulez;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
Et finalement, la sortie vous montre tout ce que vous voulez (nom de classe, nom de méthode, lien d'ancrage, message)
08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.Java:29) /// IN METHOD : onCreate
info