কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে Timber লাইব্রেরি দিয়ে লগিং অভিজ্ঞতা উন্নত করা


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() — Verbose
  • d() — Debug
  • i() — Info
  • w() — Warning
  • e() — Error
  • wtf() — What a Terrible Failure

সুবিধা

  • ট্যাগ অটোমেটিক (ক্লাস নাম)।
  • String ফরম্যাটিং সাপোর্ট (%s, %d)।
  • রিলিজ বিল্ডে ডিবাগ লগ অটোমেটিক সপ্রেস।
  • ক্র্যাশ রিপোর্টিং টুলসহ সহজ ইন্টিগ্রেশন।

  1. অ্যান্ড্রয়েড ফোনকে উইন্ডোজ ১০-এ স্মুথলি সিঙ্ক করুন: ধাপে ধাপে গাইড

  2. নতুন এন্ড্রয়েড ফোন অপ্টিমাইজ করার ১৫টি απαরিহার্য টিপস

  3. এন্ড্রয়েড গেমিং এক্সপেরিয়েন্স বাড়ান: স্মুথ প্লে করার সহজ টিপস

  4. অ্যান্ড্রয়েডে বন্ধুদের সাথে লোকেশন শেয়ার: ধাপে ধাপে গাইড