পোস্টটি পড়া হয়েছে 943 বার
Android Logger Library অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট

অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টে Logger Library’র ব্যবহার

প্রথম প্রথম যখন অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট শেখা শুরু করি, তখন কোনো ডেটার মান ঠিক আছে কিনা সেটা চেক করার জন্য System.out.println(data); ব্যবহার করে দেখতাম। একাধিক জায়গা থেকে একই ভ্যালু প্রিন্ট করলে একটার থেকে আরেকটাকে আলাদা করতাম নানান কিসিমের কীওয়ার্ড দিয়ে। যেমনঃ System.out.println(“hukka hua ” + data); Log Cat এ এরপর সার্চ দিতাম “hukka hua” লিখে। এরপর নির্দিষ্ট ফাইলে সার্চ দিতাম। চেক করার জন্য যে এটা কোন মেথড থেকে কল হয়েছে।

এইসব অদ্ভুত পদ্ধতি এখন আর অ্যাপ্লাই করার দরকার হয় না। তখন জানতাম না, কেউ দেখায় দেয়ার মতও ছিল না। তাই নিজের মত করে সিসটেম বের করে নিয়েছিলাম। এরপর Log.d() দিয়ে প্রিন্ট করার কথা জানলাম। আর সর্বশেষ জানলাম লগ প্রিন্ট করার একটা লাইব্রেরির কথা জবে জয়েন করার পর।

আলাদা করে ব্লগ লিখার মত তেমন কিছু এটা না। তার পরেও লিখা এ কারণে যে, হয়ত একদম জুনিয়র কারো সামনে পড়লো। যা হয়ত তার কাজে লেগে গেল। অফিসে যা যা নতুন শিখছি সেগুলো পর্যায়ক্রমে ব্লগে লিখার ইচ্ছা আছে।




Logger Library Installation

অন্যান্য যে কোনো লাইব্রেরির মত এটাও gradle এ যুক্ত করে নিন।

compile com.orhanobut:logger:1.15

এরপর যেই ক্লাসে Log বসাতে চান সেখানে import করে নিনঃ

import com.orhanobut.logger.Logger;

আর initialize করে নিন (onCreate এর ভিতর করতে পারেন) এই লাইনটাঃ

Logger.addLogAdapter(new AndroidLogAdapter());

Logger Library এর কাজ

কোনো একটা লাইন লগে প্রিন্ট করার সময় আমাদের যা যা জানতে চাইতে ইচ্ছা হতে পারে তার সবগুলোই পাওয়া যায় Logger লাইব্রেরিটি ব্যবহার করলে। আমাদের জানার দরকার হয় লগটি কোন মেথড থেকে কল হয়েছে। মেথডটা কোন ক্লাসের কত নাম্বার লাইনে আছে। এই সবগুলো তথ্যই প্রতিটি লগ প্রিন্টের সময় আমাদের সামনে হাজির থাকে। নিচের ছবিটি থেকে আরো ক্লিয়ার হওয়া যাবে। ধরেন আপনি MainActivity এর ২৯ নাম্বার লাইনে ও ৪৩ নাম্বার লাইনে লগ বসিয়েছেন। সেগুলো প্রিন্ট হবে নিচের মত করে (ছবিতে দেখানো অন্যান্য লগ মেসেজের কথা এখানে উল্লেখ করা হলো না)

নীল রঙে লিখা ক্লাস আর লাইন নাম্বার লিখার উপর ক্লিক করলে আপনাকে কোডের ঐ লাইনে নিয়ে যাবে। মজা না!!!

শুধু একটা সাধারণ স্ট্রিংই প্রিন্ট করা যায় এমন না। কোথাও exception throw করলে, বা একটা JSON ফরমেটের ডেটা প্রিন্ট করার জন্যেও এটা বেশ কাজের। সাধারণত আমরা লগে JSON প্রিন্ট করি, এরপর JSON টা কোনো অনলাইন টুল ব্যবহার করে তার ‘সৌন্দয্য’ নিশ্চিত করি। এরপর এর মর্মোদ্ধার করি। কিন্তু এই কাজটাও এই লাইব্রেরি ব্যবহার করে সহজে করা যায়।

উপরের ছবিতে নিচ থেকে চার নাম্বার লগ মেসেজটি একটি JSON ভ্যালু প্রিন্ট করেছে। এটার জন্য এই মেথডটি কল করা লাগবেঃ

Logger.json(JSON_CONTENT);

এরকম আরো কিছু ফাংশনালিটি আছে এই লাইব্রেরিটির। আমাদের প্রোডাক্টিভিটি বাড়ানোর জন্য pretty logger টা বেশ কাজের। এখানে একদম ব্যাসিক ফিচারগুলো দেখালাম। আরো জানার জন্য Logger এর GitHub repository থেকে ঘুরে আসতে পারেন। ধন্যবাদ।