Jawaban:
Lihatlah ke dalam android.util.Log
. Ini memungkinkan Anda menulis ke log dengan berbagai level log, dan Anda dapat menentukan tag berbeda untuk mengelompokkan output. Sebagai contoh
Log.w("myApp", "no network");
akan menampilkan peringatan dengan tag myApp dan pesan no network.
w
di Log.w(...)
singkatan peringatan. Ada lebih banyak versi: d
- debug, e
- error, i
- info, v
- verbose, wtf
- Kegagalan yang Mengerikan. ;-)
Tag hanya digunakan untuk dengan mudah menemukan output Anda, karena Output dari LogCat terkadang sangat panjang. Anda dapat mendefinisikan suatu tempat di kelas Anda:
private String akhir statis TAG = "myApp";
dan menggunakannya saat debugging
Log.v (TAG, "melakukan sesuatu");
Anda juga dapat menerapkan Filter untuk hanya mencari tag.
Gunakan android.util.Log
dan metode statis yang ditentukan di sana (misalnya e()
,, w()
).
import android.util.Log;
lalu
Log.i("the your message will go here");
Silakan lihat log seperti ini,
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)
Anda dapat menggunakan perpustakaan saya yang disebut RDALogger. Berikut ini tautan github .
Dengan perpustakaan ini, Anda dapat mencatat pesan Anda dengan nama metode / nama kelas / nomor baris dan tautan jangkar. Dengan tautan ini, ketika Anda mengklik log, layar menuju ke baris kode ini.
Untuk menggunakan perpustakaan, Anda harus melakukan implementasi di bawah ini.
di tingkat akar kelas
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
di tingkat tingkat aplikasi
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Untuk menginisialisasi perpustakaan, Anda harus mulai seperti ini (di Application.class atau sebelum digunakan pertama kali)
RDALogger.start("TAG NAME").enableLogging(true);
Dan daripada Anda dapat login apa pun yang Anda inginkan;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
Dan akhirnya output menunjukkan semua yang Anda inginkan (nama kelas, nama metode, tautan jangkar, pesan)
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,"");
Baru-baru ini saya menemukan pendekatan ini untuk menulis log di android, yang saya pikir sangat luar biasa.
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
?