Retrofit 2.0 :
আপডেট: @ মার্কাস পাহ্লস এর মাধ্যমে
রেট্রোফিট 2 এ লগ ইন করা
রেট্রোফিট 2 কোনও নেটওয়ার্ক ক্রিয়াকলাপের জন্য OkHttp এ সম্পূর্ণ নির্ভর করে। যেহেতু OkHttp রিট্রোফিট 2 এর পিয়ার নির্ভরতা, তাই রেট্রোফিট 2 স্থিতিশীল প্রকাশ হিসাবে প্রকাশিত হওয়ার পরে আপনাকে অতিরিক্ত নির্ভরতা যুক্ত করতে হবে না।
অভ্যন্তরীণ নির্ভরতা হিসাবে লগিং ইন্টারসেপ্টারের সাথে OkHttp 2.6.0 জাহাজগুলি পাঠানো হয় এবং আপনি এটি সরাসরি আপনার retrofit ক্লায়েন্টের জন্য ব্যবহার করতে পারেন। Retrofit 2.0.0-beta2 এখনও OkHttp 2.5.0 ব্যবহার করে। ভবিষ্যতের প্রকাশগুলি উচ্চতর ওএইচটিটিপি সংস্করণগুলির নির্ভরতাকে ঘায়েল করবে। এজন্য আপনাকে ম্যানুয়ালি লগিং ইন্টারসেপ্টর আমদানি করতে হবে। লগিং ইন্টারসেপটর নির্ভরতা আনতে আপনার বিল্ড.gradle ফাইলের মধ্যে আপনার গ্রেড আমদানিতে নিম্নলিখিত লাইনটি যুক্ত করুন।
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
আপনি এই ইন্টারসেপ্টর সম্পর্কে স্কয়ারের গিটহাব পৃষ্ঠাটিও দেখতে পারেন
পুনঃনির্মাণ 2 এ লগিং যুক্ত করুন
আপনার অ্যাপ্লিকেশন বিকাশ করার সময় এবং ডিবাগিংয়ের উদ্দেশ্যে অনুরোধ এবং প্রতিক্রিয়া সম্পর্কিত তথ্য প্রদর্শন করার জন্য একটি লগ বৈশিষ্ট্য সংহত করা ভাল। যেহেতু লগিং আর্ট্রোফিট 2 এ আর ডিফল্টরূপে সংহত হয় না, তাই আমাদের OkHttp এর জন্য একটি লগিং ইন্টারসেপ্টর যুক্ত করা দরকার। ভাগ্যক্রমে OkHttp ইতিমধ্যে এই ইন্টারসেপ্টারের সাথে পাঠায় এবং আপনার কেবল এটি আপনার OkHttpClient এর জন্য সক্রিয় করা দরকার।
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
// add your other interceptors …
// add logging as last interceptor
httpClient.addInterceptor(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
আমরা সর্বশেষ ইন্টারসেপ্টার হিসাবে লগিং যুক্ত করার পরামর্শ দিই, কারণ এটি আপনার অনুরোধে পূর্ববর্তী ইন্টারসেপ্টরগুলির সাথে যোগ করা তথ্য লগও করবে।
লগ স্তর
অত্যধিক তথ্য লগ করা আপনার অ্যান্ড্রয়েড মনিটরকে ফুটিয়ে তুলবে, এ কারণেই OkHttp এর লগিং ইন্টারসেপ্টারে চারটি লগ স্তর রয়েছে: কোন, বেসিক, শিরোনাম, দেহ। আমরা আপনাকে প্রতিটি লগ স্তরের মধ্য দিয়ে চলব এবং তাদের আউটপুট বর্ণনা করব।
আরও তথ্য দয়া করে দেখুন: retrofit 2 - লগ অনুরোধ এবং প্রতিক্রিয়া
পুরানো উত্তর:
আর রেট্রোফিট 2 এ আর লগইন নেই। বিকাশকারী দলটি লগিংয়ের বৈশিষ্ট্যটি সরিয়ে দিয়েছে। সত্যি কথা বলতে গেলে লগিং বৈশিষ্ট্যটি যাইহোক নির্ভরযোগ্য ছিল না। জ্যাক ওয়ার্টন স্পষ্টভাবে বলেছিলেন যে লগ করা বার্তা বা বস্তুগুলি অনুমান করা মান এবং সেগুলি সত্য বলে প্রমাণিত হতে পারে না। প্রকৃত অনুরোধটি যা সার্ভারে আসে তার পরিবর্তিত অনুরোধের বডি বা অন্য কিছু থাকতে পারে।
ডিফল্টরূপে কোনও সংহত লগিং না থাকা সত্ত্বেও, আপনি যেকোন জাভা লগার উপার্জন করতে পারেন এবং এটি কোনও কাস্টমাইজড OkHttp ইন্টারসেপ্টারের মধ্যে ব্যবহার করতে পারেন।
রেট্রোফিট 2 সম্পর্কে আরও তথ্য দয়া করে উল্লেখ করুন:
রেট্রোফিট - শুরু করা এবং একটি Android ক্লায়েন্ট তৈরি করুন
FULL
এটি দেহ দেবে বলে মনে করা হচ্ছে তবে এটি মনে হয় না।