লগক্যাট দিয়ে লগ দেখুন

অ্যান্ড্রয়েড স্টুডিওতে লগক্যাট উইন্ডো আপনাকে রিয়েল টাইমে আপনার ডিভাইস থেকে লগগুলি প্রদর্শন করে আপনার অ্যাপকে ডিবাগ করতে সহায়তা করে—উদাহরণস্বরূপ, Log ক্লাসের সাথে আপনার অ্যাপে যোগ করা বার্তা, অ্যান্ড্রয়েডে চলে এমন পরিষেবার বার্তা বা সিস্টেম বার্তা, যেমন যখন একটি আবর্জনা সংগ্রহ ঘটে। যখন একটি অ্যাপ একটি ব্যতিক্রম ছুঁড়ে দেয়, Logcat কোডের লাইনের লিঙ্ক ধারণকারী স্ট্যাক ট্রেস অনুসরণ করে একটি বার্তা দেখায়।

Logcat উইন্ডো দিয়ে শুরু করুন

আপনার অ্যাপের লগ বার্তাগুলি দেখতে, নিম্নলিখিতগুলি করুন৷

  1. অ্যান্ড্রয়েড স্টুডিওতে, একটি ফিজিক্যাল ডিভাইস বা এমুলেটরে আপনার অ্যাপ তৈরি করুন এবং চালান
  2. মেনু বার থেকে দেখুন > টুল উইন্ডোজ > লগক্যাট নির্বাচন করুন।

ডিফল্টরূপে, Logcat শেষ পর্যন্ত স্ক্রোল করে। Logcat ভিউতে ক্লিক করা বা আপনার মাউস হুইল ব্যবহার করে স্ক্রোল করা এই বৈশিষ্ট্যটি বন্ধ করে দেয়। এটিকে আবার চালু করতে, শেষ পর্যন্ত স্ক্রোল করুন ক্লিক করুন শেষ আইকনে স্ক্রোল করুন টুলবার থেকে। আপনি Logcat সাফ, বিরতি বা পুনরায় চালু করতে টুলবার ব্যবহার করতে পারেন।

লগক্যাট উইন্ডো UI

চিত্র 1. লগক্যাট লগকে ফরম্যাট করে যাতে ট্যাগ এবং বার্তার মতো দরকারী তথ্য স্ক্যান করা সহজ হয় এবং বিভিন্ন ধরনের লগ সনাক্ত করা যায়, যেমন সতর্কতা এবং ত্রুটি।

কিভাবে লগ পড়া

প্রতিটি লগে একটি তারিখ, টাইমস্ট্যাম্প, প্রক্রিয়া এবং থ্রেড আইডি, ট্যাগ, প্যাকেজের নাম, অগ্রাধিকার এবং এটির সাথে যুক্ত বার্তা রয়েছে। বিভিন্ন ট্যাগের একটি অনন্য রঙ থাকে যা লগের ধরন সনাক্ত করতে সহায়তা করে। প্রতিটি লগ এন্ট্রিতে FATAL , ERROR , WARNING , INFO , DEBUG বা VERBOSE অগ্রাধিকার রয়েছে।

উদাহরণস্বরূপ, নিম্নলিখিত লগ বার্তাটিতে DEBUG এর অগ্রাধিকার এবং ProfileInstaller এর একটি ট্যাগ রয়েছে:

2022-12-29 04:00:18.823 30249-30321 ProfileInstaller        com.google.samples.apps.sunflower    D  Installing profile for com.google.samples.apps.sunflower

লগ ভিউ কনফিগার করুন

স্ট্যান্ডার্ড লগ ভিউ প্রতিটি লগের তারিখ, সময় প্রক্রিয়া এবং থ্রেড আইডি, ট্যাগ, প্যাকেজের নাম, অগ্রাধিকার এবং এর সাথে যুক্ত বার্তা প্রদর্শন করে। ডিফল্টরূপে, লগ ভিউতে বার্তা লাইনগুলি মোড়ানো হয় না তবে আপনি সফ্ট-র্যাপ ব্যবহার করতে পারেন নরম-মোড়ানো আইকন Logcat টুলবার থেকে বিকল্প।

আপনি লগক্যাট ফর্ম্যাটিং বিকল্পগুলি কনফিগার করুন ক্লিক করে কমপ্যাক্ট ভিউতে স্যুইচ করতে পারেন, যেখানে কম ডিফল্ট ডিসপ্লে তথ্য রয়েছে Logcat টুলবার থেকে।

আপনি কতটা তথ্য প্রদর্শন করতে চান তা আরও কনফিগার করতে, দৃশ্য পরিবর্তন করুন নির্বাচন করুন এবং আপনি টাইমস্ট্যাম্প, ট্যাগ, প্রক্রিয়া আইডি, বা প্যাকেজের নামগুলি দেখতে চান কিনা তা চয়ন করুন৷

রঙের স্কিম পরিবর্তন করুন

রঙের স্কিম পরিবর্তন করতে, Android Studio > Settings > Editor > Color Scheme- এ নেভিগেট করুন। আপনার লগ ভিউয়ের রঙের স্কিম পরিবর্তন করতে, Android Logcat নির্বাচন করুন। আপনার ফিল্টারের রঙের স্কিম পরিবর্তন করতে, লগক্যাট ফিল্টার নির্বাচন করুন।

অতিরিক্ত কনফিগারেশন বিকল্প

অতিরিক্ত কনফিগারেশন বিকল্পের জন্য, Android স্টুডিও > সেটিংস > টুলস > Logcat- এ নেভিগেট করুন। এখান থেকে, আপনি Logcat সাইকেল বাফার সাইজ, নতুন Logcat উইন্ডোর ডিফল্ট ফিল্টার এবং আপনি ইতিহাস থেকে স্বয়ংসম্পূর্ণে ফিল্টার যোগ করতে চান কিনা তা বেছে নিতে পারেন।

একাধিক উইন্ডোতে Logcat ব্যবহার করুন

ট্যাবগুলি আপনাকে সহজেই বিভিন্ন ডিভাইস বা প্রশ্নের মধ্যে স্যুইচ করতে সহায়তা করে। নতুন ট্যাবে ক্লিক করে আপনি একাধিক Logcat ট্যাব তৈরি করতে পারেন নতুন ট্যাব আইকন . একটি ট্যাবে রাইট-ক্লিক করা আপনাকে এটির নাম পরিবর্তন এবং পুনরায় সাজাতে দেয়।

উপরন্তু, আপনি লগের দুটি সেটের মধ্যে তুলনা করতে আরও সহজে সাহায্য করার জন্য একটি ট্যাবের মধ্যে ভিউ বিভক্ত করতে পারেন। একটি বিভাজন তৈরি করতে, লগ ভিউতে ডান-ক্লিক করুন বা টুলবার থেকে স্প্লিট প্যানেল বিকল্পে ক্লিক করুন এবং স্প্লিট রাইট বা স্প্লিট ডাউন নির্বাচন করুন। একটি বিভাজন বন্ধ করতে, ডান-ক্লিক করুন এবং বন্ধ নির্বাচন করুন। প্রতিটি বিভাজন আপনাকে তার নিজস্ব ডিভাইস সংযোগ, দেখার বিকল্প এবং ক্যোয়ারী সেট করতে দেয়।

একাধিক লগক্যাট উইন্ডো চিত্র 2. অ্যান্ড্রয়েড স্টুডিওতে লগক্যাট উইন্ডোগুলি বিভক্ত করুন।

Logcat টুলবার থেকে, আপনি হয় লগগুলির শেষে স্ক্রোল করতে পারেন, অথবা আপনি সেই লাইনটিকে দৃশ্যমান রাখতে একটি নির্দিষ্ট লাইনে ক্লিক করতে পারেন।

অ্যান্ড্রয়েড স্টুডিওতে, আপনি মূল ক্যোয়ারী ক্ষেত্র থেকে মূল-মান অনুসন্ধানগুলি তৈরি করতে পারেন। এই ক্যোয়ারী সিস্টেমটি আপনি যা জিজ্ঞাসা করতে চান তার নির্ভুলতা প্রদান করে এবং কী-মানের উপর ভিত্তি করে লগগুলি বাদ দেয়। আপনার কাছে রেগুলার এক্সপ্রেশন ব্যবহার করার বিকল্প থাকলেও আপনাকে প্রশ্নের জন্য তাদের উপর নির্ভর করতে হবে না। পরামর্শ দেখতে, ক্যোয়ারী ক্ষেত্রে Ctrl + Space টিপুন।

ক্যোয়ারী ক্ষেত্রে পরামর্শের তালিকা চিত্র 3. প্রস্তাবিত প্রশ্নের তালিকা দেখতে ক্যোয়ারী ক্ষেত্রে Ctrl + Space টিপুন।

নিম্নলিখিত কীগুলির কিছু উদাহরণ রয়েছে যা আপনি আপনার প্রশ্নে ব্যবহার করতে পারেন:

  • tag : লগ এন্ট্রির tag ক্ষেত্রের সাথে মিলে যায়।
  • package : লগিং অ্যাপের প্যাকেজ নামের সাথে মিলে যায়।
  • process : লগিং অ্যাপের প্রক্রিয়া নামের সাথে মিলে যায়।
  • message : লগ এন্ট্রির বার্তা অংশের সাথে মিলে যায়।
  • level : নির্দিষ্ট বা উচ্চতর গুরুতর লগ স্তরের সাথে মেলে-উদাহরণস্বরূপ, DEBUG
  • age : এন্ট্রি টাইমস্ট্যাম্প সাম্প্রতিক হলে মেলে। মানগুলি একটি সংখ্যা হিসাবে নির্দিষ্ট করা হয় এবং একটি অক্ষর দ্বারা সময় একক নির্দিষ্ট করে: সেকেন্ডের জন্য s , মিনিটের জন্য m , ঘন্টার জন্য h এবং দিনের জন্য d । উদাহরণস্বরূপ, age: 5m ফিল্টার শুধুমাত্র বার্তা যা গত 5 মিনিটে লগ করা হয়েছে।

নেতিবাচক এবং নিয়মিত অভিব্যক্তি

নিম্নলিখিত ক্ষেত্রগুলি অস্বীকার এবং নিয়মিত অভিব্যক্তি ম্যাচিং সমর্থন করে: tag , package , message এবং line

ক্ষেত্রের নামের সাথে a - পূর্বে বসিয়ে নেগেশান প্রকাশ করা হয়। উদাহরণস্বরূপ, -tag:MyTag লগ এন্ট্রির সাথে মেলে যার tag MyTag স্ট্রিং নেই।

রেগুলার এক্সপ্রেশন ম্যাচিং ফিল্ডের নামের সাথে a ~ যোগ করে প্রকাশ করা হয়। উদাহরণস্বরূপ, tag~:My.*Tag

নেগেশান এবং রেগুলার এক্সপ্রেশন মডিফায়ার একত্রিত করা যেতে পারে। উদাহরণস্বরূপ, -tag~:My.*Tag

লজিক্যাল অপারেটর এবং বন্ধনী

ক্যোয়ারী ভাষা & এবং | দ্বারা প্রকাশ করা AND এবং OR অপারেটরকে সমর্থন করে এবং বন্ধনী। যেমন:

(tag:foo | level:ERROR) & package:mine

নোট করুন যে স্বাভাবিক অপারেটর অগ্রাধিকার প্রয়োগ করা হয়, তাই নিম্নলিখিত:

tag:foo | level:ERROR & package:mine

হিসাবে মূল্যায়ন করা হয়:

tag:foo | (level:ERROR & package:mine)

অন্তর্নিহিত লজিক্যাল অপারেটর

যদি লজিক্যাল অপারেটরগুলি প্রয়োগ না করা হয়, কোয়েরি ভাষা স্বয়ংক্রিয়ভাবে একাধিক অ-নেগেটেড key-value ফিল্টার পদগুলিকে একটি OR এর মতো একই কী দিয়ে এবং অন্য সবকিছু একটি AND দিয়ে মূল্যায়ন করে।

যেমন:

tag:foo tag:bar package:myapp

হিসাবে মূল্যায়ন করা হয়:

(tag:foo | tag:bar) & package:myapp

কিন্তু:

tag:foo -tag:bar package:myapp

হিসাবে মূল্যায়ন করা হয়:

tag:foo & -tag:bar & package:myapp

যদি একাধিক ক্যোয়ারী পদ একটি লজিক্যাল অপারেটর ছাড়াই হোয়াইটস্পেস দ্বারা পৃথক করা হয়, তাহলে সেগুলিকে একটি AND হিসাবে বিবেচনা করা হয় যার অগ্রাধিকার কম। উদাহরণস্বরূপ, শব্দটি foo bar tag:bar1 | tag:bar2 'foo bar' & (tag: bar1 | tag: bar2) এর সমতুল্য।

বিশেষ প্রশ্ন

package:mine

প্যাকেজ কী একটি বিশেষ মানের mine সমর্থন করে। এই বিশেষ মানটি ওপেন প্রজেক্টে থাকা যেকোনো প্যাকেজের নামের সাথে মেলে।

level

level কোয়েরি Logcat মেসেজের লগ লেভেলের সাথে মেলে, যেখানে লগ এন্ট্রি লেভেল কোয়েরি লেভেলের সমান বা বড়।

উদাহরণ স্বরূপ, level:INFO যেকোন লগ এন্ট্রির সাথে INFO , WARN , ERROR বা ASSERT এর লগ লেভেলের সাথে মেলে। স্তরটি কেস সংবেদনশীল নয়। বৈধ স্তরগুলি হল: VERBOSE , DEBUG , INFO , WARN , ERROR এবং ASSERT

age

age ক্যোয়ারী তাদের টাইমস্ট্যাম্পের উপর ভিত্তি করে এন্ট্রির সাথে মেলে, এবং age:<number><unit> , যেখানে

  • <number> একটি পূর্ণসংখ্যা
  • <unit> হল s , m , h , এবং d (সেকেন্ড, মিনিট, ঘন্টা এবং দিন) এর মধ্যে একটি।

নিম্নলিখিত তালিকা দেওয়া হয়েছে, age প্রশ্নটি লগ বার্তাগুলির সাথে মেলে যেগুলির মান দ্বারা বর্ণিত পরিসরে একটি টাইমস্ট্যাম্প রয়েছে৷ উদাহরণ স্বরূপ: ক্যোয়ারী age:5m টাইমস্ট্যাম্পের সাথে 5 মিনিট আগের এন্ট্রির সাথে মেলে।

age:30s
age:5m
age:3h
age:1d

মনে রাখবেন যে টাইমস্ট্যাম্পকে হোস্টের টাইমস্ট্যাম্পের সাথে তুলনা করা হয়, সংযুক্ত ডিভাইসের সাথে নয়। ডিভাইসের সময় সঠিকভাবে সেট করা না থাকলে, এই ক্যোয়ারী প্রত্যাশিতভাবে কাজ নাও করতে পারে।

is

আপনি নিম্নলিখিত হিসাবে is কী ব্যবহার করতে পারেন:

  • is:crash মেলে লগ এন্ট্রি যা একটি অ্যাপ্লিকেশন ক্র্যাশ প্রতিনিধিত্ব করে (নেটিভ বা জাভা)।
  • is:stacktrace লগ এন্ট্রির সাথে মেলে যা লগ লেভেল নির্বিশেষে জাভা স্ট্যাকট্রেসের মত দেখায়।

name কী

name কী আপনাকে একটি সংরক্ষিত ফিল্টারের জন্য একটি অনন্য নাম প্রদান করতে দেয় যাতে এটি ফিল্টার ইতিহাস ড্রপডাউনে সহজেই সনাক্ত করা যায়। যদিও আপনি একাধিকবার name উল্লেখ করার জন্য একটি ত্রুটি পান না, তবে IDE ক্যোয়ারীতে name জন্য শুধুমাত্র শেষ নির্দিষ্ট মান ব্যবহার করে।

ক্যোয়ারী ইতিহাস দেখুন

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

একটি ক্যোয়ারী পছন্দ করার জন্য UI

চিত্র 4. একটি ক্যোয়ারী পছন্দ করুন এটির পাশের তারকাটিতে ক্লিক করে।

অ্যাপ ক্র্যাশ এবং রিস্টার্ট জুড়ে লগ ট্র্যাক করুন

যখন Logcat লক্ষ্য করে যে আপনার অ্যাপ প্রক্রিয়া বন্ধ হয়ে গেছে এবং পুনরায় চালু হয়েছে, তখন এটি আউটপুটে একটি বার্তা প্রদর্শন করে, যেমন PROCESS ENDED এবং PROCESS STARTED । Logcat পুনঃসূচনা করা আপনার সেশন কনফিগারেশন সংরক্ষণ করে, যেমন ট্যাব বিভাজন, ফিল্টার এবং দেখার বিকল্পগুলি, যাতে আপনি সহজেই আপনার সেশন চালিয়ে যেতে পারেন।

অ্যাপ ক্র্যাশের জন্য লগক্যাট উইন্ডো

চিত্র 5. যখন আপনার অ্যাপ প্রক্রিয়া পুনরায় আরম্ভ হয়, Logcat একটি বার্তা প্রিন্ট করে যে প্রক্রিয়াটি শেষ হয়ে গেছে এবং তারপর শুরু হয়েছে।