Risposte:
Guarda dentro android.util.Log
. Ti consente di scrivere nel registro con vari livelli di registro e puoi specificare tag diversi per raggruppare l'output. Per esempio
Log.w("myApp", "no network");
genererà un avviso con il tag myApp e il messaggio no network.
w
in Log.w(...)
sta per avvertimento. Esistono più versioni: d
- debug, e
- errore, i
- info, v
- verbose, wtf
- What a Terrible Failure. ;-)
Il tag viene utilizzato solo per trovare facilmente l'output, poiché l'output di LogCat può essere talvolta molto lungo. Puoi definire da qualche parte nella tua classe:
String finale statica privata TAG = "myApp";
e usarlo durante il debug
Log.v (TAG, "fatto qualcosa");
Puoi anche applicare un filtro per cercare solo il tag.
Uso android.util.Log
e metodi statici definiti là (ad esempio, e()
, w()
).
import android.util.Log;
e poi
Log.i("the your message will go here");
Si prega di vedere i registri in questo modo,
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)
Puoi usare la mia libreria chiamata RDALogger. Ecco il link github .
Con questa libreria, è possibile registrare il messaggio con nome metodo / nome classe / numero riga e collegamento di ancoraggio. Con questo collegamento, quando si fa clic su registro, lo schermo passa a questa riga di codice.
Per utilizzare la libreria, è necessario eseguire le implementazioni di seguito.
nel livello di radice
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
a livello di app
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Per inizializzare la libreria, dovresti iniziare in questo modo (in Application.class o prima del primo utilizzo)
RDALogger.start("TAG NAME").enableLogging(true);
E poi puoi registrare quello che vuoi;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
E infine l'output mostra tutto ciò che vuoi (nome della classe, nome del metodo, collegamento di ancoraggio, messaggio)
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,"");
Recentemente ho trovato questo approccio alla scrittura di log in Android, che penso sia fantastico.
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
?