Réponses:
Regardez dans android.util.Log
. Il vous permet d'écrire dans le journal avec différents niveaux de journalisation 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.
w
dans Log.w(...)
signifie avertissement. Il existe plusieurs versions: d
- debug, e
- error, i
- info, v
- verbose, wtf
- What a Terrible Failure. ;-)
La balise est juste 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 = "myApp";
et utilisez-le lors du débogage
Log.v (TAG, "fait quelque chose");
Vous pouvez également appliquer un filtre pour rechercher uniquement la balise.
L' utilisation android.util.Log
et les méthodes de statiques qui y sont définis (par exemple e()
, w()
).
import android.util.Log;
puis
Log.i("the your message will go here");
Veuillez consulter les journaux de cette façon,
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)
Vous pouvez utiliser ma bibliothèque appelée RDALogger. Voici le lien github .
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 accède à cette ligne de code.
Pour utiliser la bibliothèque, vous devez effectuer les implémentations ci-dessous.
dans le niveau racine
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
au niveau de l'application
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Pour initialiser la bibliothèque, vous devez commencer comme ceci (dans Application.class ou avant la première utilisation)
RDALogger.start("TAG NAME").enableLogging(true);
Et que vous pouvez enregistrer tout 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 enfin 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
String one = object.getdata();
Log.d(one,"");
Récemment, j'ai trouvé cette approche pour écrire des journaux sous Android, ce que je trouve super 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);
}
}
log.d
?