লগ
অ্যাপ্লিকেশন সমস্যা সমাধানের জন্য লগ ব্যবহার করে
বিকাশ প্রক্রিয়া চলাকালীন, প্রায়ই এমন পরিস্থিতি দেখা দেয় যখন আবেদনের প্রকৃত ফলাফল প্রত্যাশিত ফলাফলের সাথে মেলে না। এমনকি অল্প সংখ্যক ব্লক সহ সাধারণ ব্যবসায়িক প্রক্রিয়াগুলির জন্য, ত্রুটিগুলি সনাক্ত করা কঠিন হতে পারে এবং বড় প্রকল্পগুলির জন্য, অতিরিক্ত সমস্যা সমাধানের সরঞ্জামগুলির ব্যবহার বাধ্যতামূলক হয়ে ওঠে।
এই মডিউলে, আমরা অ্যাপ্লিকেশান ডিবাগিং এর সাথে মোকাবিলা করব, অর্থাৎ, উন্নয়ন পর্যায়ে যেখানে ত্রুটি সনাক্ত করা হয়, স্থানীয়করণ করা হয় এবং নির্মূল করা হয়।
ত্রুটি খুঁজে বের করার জন্য সবচেয়ে মৌলিক হাতিয়ার হল একটি লগ ব্যবহার, যে, আরও বিশ্লেষণের জন্য নির্দিষ্ট এন্ট্রি গঠন। চতুর্থ মডিউলে তৈরি করা " Basic functions " ব্যবসায়িক প্রক্রিয়াটির উদাহরণ ব্যবহার করে এটি দেখি।
ব্যবসায়িক প্রক্রিয়ার উদ্দেশ্য ছিল তাদের সাথে নির্দিষ্ট গাণিতিক ক্রিয়াকলাপ সম্পাদন করার জন্য দুটি সংখ্যা পাওয়া। ধরুন আমরা পথ ধরে কিছু পরীক্ষা করতে চাই এবং শুধুমাত্র চূড়ান্ত ফলাফলের উপর ফোকাস করব না (বা এর অভাব)।
আমরা নিশ্চিত করতে লগ ব্যবহার করি যে:
- ব্যবসা প্রক্রিয়া সত্যিই শুরু
- Round ব্লক ইনপুট হিসাবে সঠিক মান গ্রহণ করে
- ব্যবসায়িক প্রক্রিয়া শেষ হওয়ার আগে অ্যারের উপাদানের সংখ্যা আমাদের প্রত্যাশার সাথে সঙ্গতিপূর্ণ (5)
Write to Log
এটি করার জন্য, আমরা ব্যবসায়িক প্রক্রিয়াটিকে কিছুটা পরিবর্তন করব এবং এতে Write to Log যোগ করব, যা নাম থেকে বোঝা যায়, লগটিতে তথ্য লিখবে।
ব্যবসায়িক প্রক্রিয়ার শুরুতে আমরা প্রথম Write to Log ব্লক ব্যবহার করি। এটি ইনপুট হিসাবে দুটি প্যারামিটার নিতে পারে: Label (এন্ট্রির শিরোনামের জন্য) এবং Input (এন্ট্রি নিজেই)। এই ক্ষেত্রে, আমরা একটি ব্যবসায়িক প্রক্রিয়া শুরু করার সত্যটি রেকর্ড করি, তাই কিছু পৃথক উত্স থেকে পরামিতি স্থানান্তর করার প্রয়োজন নেই। নিশ্চিতকরণ পাঠ্যটি নির্দিষ্ট করার জন্য এটি যথেষ্ট। অতএব, আমরা ইনপুট হিসাবে " Basic functions BP start " লেখাটি লিখব।
Round ব্লকের আগে পরবর্তী লগ এন্ট্রি করা হবে। এবং এই ক্ষেত্রে, রেকর্ডটি আর ঠিক করা হবে না। ইনপুট বিভাজনের ফলাফলের সাথে একটি মান পাবে, যার উপর ভবিষ্যতে একটি রাউন্ডিং অপারেশন করতে হবে। ভালো খবর হল যে Write to Log Input হিসাবে যেকোনো ধরনের মান নিতে পারে (এই ক্ষেত্রে, এটি হবে Float ), এবং লেখার জন্য String -এ রূপান্তর করার দরকার নেই।
শেষ পর্যন্ত, আপনাকে অ্যারের উপাদানগুলির সংখ্যা লিখতে হবে। কিন্তু এটি করার জন্য, আপনাকে এই পরিমাণটি খুঁজে বের করতে হবে কারণ আমাদের কাছে অ্যারেটি রয়েছে, এর আকার নয়। তাই, Write to Log ছাড়াও, আমরা Array Size ব্লক ব্যবহার করব।
ব্যাকএন্ড লগ
এর পরে, আপনি অ্যাপ্লিকেশনটি প্রকাশ করতে পারেন, ব্যবসায়িক প্রক্রিয়া চালাতে পারেন এবং ফলাফল দেখতে পারেন। এটি করতে Application Logs বিভাগে CI/CD ট্যাবে যান।
Source কলামে bp_log এন্ট্রির মানে হল এই এন্ট্রিটি করা Write to Log ব্লকের ফলস্বরূপ। আমরা নিশ্চিত করতে পারি যে ব্যবসায়িক প্রক্রিয়া সঠিকভাবে কাজ করছে এবং লগগুলি আসলে লেখা হচ্ছে। তাছাড়া, এখানে আপনি বিভিন্ন সিস্টেম লগ দেখতে পারেন, উদাহরণস্বরূপ, শেষ পয়েন্টের ফলাফল সফলভাবে প্রাপ্ত হয়েছে ( Status: 200 ), কোন আইপি ঠিকানা থেকে লঞ্চটি করা হয়েছিল এবং কোন প্যারামিটারগুলি ব্যবহার করা হয়েছিল৷
ফ্রন্টেন্ড লগ
ফ্রন্টএন্ড ব্যবসায়িক প্রক্রিয়াগুলি তৈরি Write to Log ) একটি ব্লকও দেখা যায়। Y মান ইনপুট ক্ষেত্রের জন্য এটি ব্যবহার করা যাক. আসুন কোন মানটি প্রবেশ করানো হয়েছে সে সম্পর্কে তথ্য লিখি ( Input: Value = ) এবং কোন উপাদানে ( Label: Y log : )।
এই ক্ষেত্রে, ব্লকটি একচেটিয়াভাবে ফ্রন্ট-এন্ডে কাজ করবে। সার্ভারে কোনো অনুরোধ পাঠানো হবে না; তদনুসারে, এই ব্লকের কোন ফলাফল সার্ভার লগগুলিতে প্রদর্শিত হবে না। একটি যৌক্তিক প্রশ্ন উঠছে - তাহলে কোথায় তাদের সন্ধান করবেন?
এটি করার জন্য, আপনাকে ব্রাউজারে Developer Tools খুলতে হবে। কোন ব্রাউজার ব্যবহার করা হয় তার উপর নির্ভর করে লঞ্চের পদ্ধতি এবং নামটি নিজেই কিছুটা আলাদা হতে পারে, তবে মূল বিষয় হল যে কোনও আধুনিক ব্রাউজার এই বৈশিষ্ট্যটিকে সমর্থন করে এবং অপারেশনের সাধারণ নীতি একই।
আমাদের উদাহরণে, Google Chrome ব্রাউজার ব্যবহার করা হবে। বিকাশকারী সরঞ্জামগুলি সক্ষম করতে, আপনি সেটিংসে সংশ্লিষ্ট মেনু আইটেমটি ব্যবহার করতে পারেন ( More tools -> Developer tools ), কীবোর্ড শর্টকাট Ctrl + Shift + I , বা কেবল F12 টিপে। অনেকগুলি বিভিন্ন বৈশিষ্ট্য এখানে উপলব্ধ, যেমন একটি ওয়েব পৃষ্ঠার HTML কোড দেখা, নেটওয়ার্ক অনুরোধগুলি ট্র্যাক করা এবং আরও অনেক কিছু৷ কিন্তু এই মুহুর্তে, আমরা Console বিভাগে আগ্রহী। এটি আপনাকে জাভাস্ক্রিপ্ট কাজের ফলাফল ট্র্যাক করতে এবং ফ্রন্ট-এন্ড ত্রুটিগুলি নির্ণয় করতে দেয় এবং এটি কনসোলে রয়েছে যে আপনি লগ Write to Log ব্লক দ্বারা রেকর্ড করা লগ দেখতে পাবেন।
আমরা Y ইনপুট ক্ষেত্রে "4" নম্বরটি প্রবেশ করিয়েছি এবং নিশ্চিত করেছি যে Write to Log পরিকল্পনা অনুযায়ী কাজ করেছে। কনসোলে একটি এন্ট্রি উপস্থিত হয়েছে " Y log: Value = 4 "।