Câu trả lời:
Nhìn vào android.util.Log
. Nó cho phép bạn ghi vào nhật ký với nhiều cấp độ nhật ký khác nhau và bạn có thể chỉ định các thẻ khác nhau để nhóm đầu ra. Ví dụ
Log.w("myApp", "no network");
sẽ đưa ra cảnh báo với thẻ myApp và thông báo không có mạng.
w
trong Log.w(...)
viết tắt để cảnh báo. Có nhiều phiên bản hơn : d
- gỡ lỗi, e
- lỗi, i
- thông tin, v
- dài dòng, wtf
- Thật là một thất bại khủng khiếp. ;-)
Thẻ chỉ được sử dụng để dễ dàng tìm thấy đầu ra của bạn, vì Đầu ra của LogCat đôi khi có thể rất dài. Bạn có thể định nghĩa một nơi nào đó trong lớp của bạn:
chuỗi ký tự tĩnh cuối cùng TAG = "myApp";
và sử dụng nó khi gỡ lỗi
Log.v (TAG, "đã làm một cái gì đó");
Bạn cũng có thể áp dụng Bộ lọc để chỉ tìm kiếm thẻ.
import android.util.Log;
và sau đó
Log.i("the your message will go here");
Xin vui lòng xem các bản ghi theo cách này,
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)
Bạn có thể sử dụng libary của tôi được gọi là RDALogger. Đây là liên kết github .
Với thư viện này, bạn có thể đăng nhập tin nhắn của mình với tên phương thức / tên lớp / số dòng và liên kết neo. Với liên kết này, khi bạn nhấp vào nhật ký, màn hình sẽ chuyển đến dòng mã này.
Để sử dụng thư viện, bạn phải thực hiện dưới đây.
ở cấp độ gốc
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
trong cấp độ ứng dụng
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Để khởi tạo thư viện, bạn nên bắt đầu như thế này (trong Application. Class hoặc trước khi sử dụng lần đầu)
RDALogger.start("TAG NAME").enableLogging(true);
Và hơn bạn có thể đăng nhập bất cứ điều gì bạn muốn;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
Và cuối cùng đầu ra hiển thị cho bạn tất cả những gì bạn muốn (tên lớp, tên phương thức, liên kết neo, thông báo)
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,"");
Gần đây tôi tìm thấy cách tiếp cận này để viết nhật ký trong Android, mà tôi nghĩ là siêu tuyệt vời.
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
?