Timber: Android Log-এর স্মার্ট ও ক্লিন র্যাপার
Timber জেক ওয়ার্টনের তৈরি একটি লাইটওয়েট লগিং লাইব্রেরি। এটি অ্যান্ড্রয়েডের নেটিভ Log ক্লাসকে র্যাপ করে আরও ক্লিন, ট্যাগ-অটোমেটিক এবং রিলিজ-বিল্ড-সেফ লগিং দেয়।
গ্রেডেল ডিপেন্ডেন্সি
dependencies {
implementation 'com.jakewharton.timber:timber:5.0.1'
}
ইনিশিয়ালাইজেশন (Application ক্লাসে সেরা)
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
} else {
// রিলিজ বিল্ডে Crashlytics, Sentry ইত্যাদিতে লগ পাঠান
Timber.plant(new ReleaseTree());
}
}
}
// রিলিজ ট্রি উদাহরণ
class ReleaseTree extends Timber.Tree {
@Override
protected void log(int priority, String tag, String message, Throwable t) {
if (priority == Log.VERBOSE || priority == Log.DEBUG || priority == Log.INFO) return;
// Crashlytics.log(message); ইত্যাদি
}
}
ব্যবহার (যেকোনো ক্লাসে)
Timber.tag("Network").d("Request started: %s", url);
Timber.i("User logged in: %s", userId);
Timber.w("Cache miss for key: %s", key);
Timber.e(exception, "Network error occurred"); // এক্সসেপশন সহ লগ
Timber.wtf("This should never happen!"); // What a Terrible Failure
লগ লেভেল
v()— Verbosed()— Debugi()— Infow()— Warninge()— Errorwtf()— What a Terrible Failure
সুবিধা
- ট্যাগ অটোমেটিক (ক্লাস নাম)।
- String ফরম্যাটিং সাপোর্ট (
%s,%d)। - রিলিজ বিল্ডে ডিবাগ লগ অটোমেটিক সপ্রেস।
- ক্র্যাশ রিপোর্টিং টুলসহ সহজ ইন্টিগ্রেশন।