Nếu đang thao tác làm việc cùng với Android thì hẳn là các bạn các đang nghe tới log cùng mình đân oán không nhiều người là chưa sử dụng tới class Log của Android phải ko nào. Thực ra thì bản thân còn sử dụng log không ít là đằng khác, vẫn còn đấy nhớ mẫu thời mà lại không biết debug là gì thì log đó là cứu giúp cánh đắc lực của chính mình. Và kể cả đến hiện thời thì mình vẫn còn dùng log tương đối nhiều, nhằm log api response, exception, ... Tuy nhiên, liệu chúng ta đang lúc nào đặt ra câu hỏi rằng chúng ta vẫn sử dụng Log đúng chuẩn cùng hiệu quả tuyệt chưa?Giả sử họ có rất nhiều log, ta cần phải sa thải chúng trước khi publish áp dụng của chính bản thân mình, cơ mà bằng phương pháp nào? Ta hoàn toàn có thể sử dụng IDE và tìm kiếm gần như chiếc code chứa cụm Log., nhưng trường hợp nó là hàng ngàn dòng log thì sao nhỉ? Liệu ta rất có thể xóa, bình luận hết toàn bộ được không? Mà nếu đươc, sẽ thế nào ví như bọn họ lại buộc phải chúng lúc liên tiếp phát triển vận dụng đó? À, bao gồm một biện pháp rất là dễ dàng, chỉ việc kiểm tra coi ta có vẫn sống môi trường debug hay là không, trường hợp tất cả thì ta log còn không thì thôi:

import app android.util.Log;public class Logger public static void d(final String tag, final String message) if (BuildConfig.DEBUG) Log.d(tag, message); Vấn đề của chúng ta cũng có thể đã có được giải quyết, dẫu vậy nếu muốn áp dụng những chính sách log khác (Log.e, Log.i, Log.v, ...) ta sẽ đề xuất viết từng đó cách tiến hành để thực thi bọn chúng hoặc thêm một tsi số vào để thực hiện được log theo ý bạn muốn.Và đó đó là lúc chúng ta buộc phải sử dụng Timber nhằm giải quyết vấn đề này một bí quyết triệt nhằm hơn!

1) Timber là gì?

*
Timber là một trong API mang đến class Log của Android. Nó hỗ trợ cùng tăng cấp mang lại công dụng log của Android. Ta làm việc đó bằng cách ghép một đối tương Tree cùng mỗi lần ta log một lắp thêm nào đấy, hành động log có thể biến đổi phụ thuộc vào bài toán Tree nào đang rất được thực hiện.Để thực hiện Timber, bạn cũng có thể thêm mẫu sau vào tệp tin build.gradle trong project của mình:

implementation "com.jakewharton.timber:timber:4.7.1"2) Timber chuyển động như vậy nào?Tạo một đối tượng người sử dụng Tree với thiết đặt nó nhanh nhất có thể (thường là trong cách tiến hành onCreate() của class Application). Và chỉ việc những điều đó, ta có thể bắt đầu áp dụng những cách làm cơ mà Timber cung ứng để log nắm vày class Log thông thường của Android. Rất dễ dàng và đơn giản đề nghị ko làm sao.Tiếp theo, thử động tay động chân với Timber nhằm nắm rõ rộng về kiểu cách Timber hoạt động cùng tại vì sao chúng ta nên thực hiện nó nhé.

Bạn đang xem: Logging là gì

3) Logging với Timber

Sau khi đang cấu hình thiết lập đối tượng người sử dụng Tree của mình, ta buộc phải bước đầu áp dụng class Timber cùng nó đích thực cực kỳ dễ dàng và đơn giản.

Xem thêm: Tencent Gaming Buddy Là Gì ? Hướng Dẫn Cài Đặt Và Sử Dụng Tencent Gaming Buddy Là Gì

Nó cất những cách tiến hành tựa như như class Log, ví dụ: .v, .d, .i, .w và .e. Bởi vì chưng những cách làm này là tương tự nhau, bạn cũng có thể thuận tiện thay thế sửa chữa Log vì Timber bằng cách đổi toàn bộ những lời điện thoại tư vấn Log. thành Timber.:

Log.v(TAG, "some verbose logs here"); Timber.v("some verbose logs here"); Log.d(TAG, "some debug logs here"); Timber.d("some debug logs here"); Log.i(TAG, "some info logs here"); Timber.i("some info logs here"); Log.w(TAG, "some warning logs here"); Timber.w("some warning logs here"); Log.e(TAG, "some error logs here"); Timber.e("some error logs here"); Log.wtf(TAG, "some error logs here"); Timber.wtf("some error logs here");Ủa điều này thì có gì đặc trưng rộng đâu nhỉ? Nhưng chúng ta có lưu ý rằng các lời Call của Timber không còn chứa yếu tố tag không? Đó là chính vì Timber sẽ search coi class làm sao sẽ Gọi nó cùng tự động thêm tên class kia vào thành tag.

3.1) Lint

Timber cất một số trong những lint rules kha khá hữu dụng (lint là quy trình so sánh code để tìm thấy những lỗi tiểm ẩn). Chúng được tạo thành nhì loại: error cùng warning. Error ngăn quán triệt áp dụng của khách hàng biên dịch, còn warning là cảnh báo được hiển thị để báo cho bạn biết nhưng lại vẫn cho phép ứng dụng biên dịch thông thường.Nếu chúng ta cung cấp sai số lượng tyêu thích số truyền vào, không đúng loại ttê mê số lúc áp dụng string interpolation (ví như String.format("%d", "some text"), ... nó vẫn kích hoạt một error rule.Nếu bạn áp dụng class Log nhằm log, tốt String.format() trong một lời Call Timber tuyệt log một exception thì nó vẫn kich hoạt một warning rule.Sau đó là một vài ba ví dụ về lint rules của Timber, nó hoàn toàn có thể phát hiện nếu như con số tđắm đuối số truyền vào trong 1 lời Điện thoại tư vấn tới Timber áp dụng String.format() không đúng:

Example.java:35: Error: Wrong argument count, format string Hello %s %s! requires 2 but format call supplies 1 Timber.d("Hello %s %s!", firstName); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Hay phân phát hiện tại trường hợp độ nhiều năm tag của chúng ta đã dài ra hơn đối với nguyên tắc của Android (23 kí tự):

Example.java:35: Error: The logging tag can be at most 23 characters, was 35 (TagNameThatIsReallyReallyReallyLong) Timber.tag("TagNameThatIsReallyReallyReallyLong").d("Hello %s %s!", firstName, lastName); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Bạn có thể xem thêm về những rule của Timber trên trên đây.

3.2) Triển khai Tree

Như tôi đã nhắc từ trên đầu, ta cần tạo ra một đối tượng người sử dụng Tree cùng "trồng" nó ngay khi rất có thể, tuy vậy nó là gì nhỉ?Một Tree đơn giản dễ dàng là 1 trong những class cất hành vi của những log. Để tạo ra nó, ta buộc phải extends từ lớp Tree và triển khai cách làm log. Mỗi lần bọn họ log áp dụng Timber, nó đã đi qua đối tượng người tiêu dùng Tree họ khởi tạo; giả dụ ta "trồng" những Tree thì nó đã trải qua tất cả chúng cùng đựng tất cả hành vi chúng ta ước ao.lấy ví dụ, nếu như ta không muốn log ra ban bố gì khi áp dụng được release, ta chỉ cần chế tạo một Tree và ko xúc tiến gì vào cách thức log của nó:

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *