আমি এটির উত্তর একটি উপাদান-ভিত্তিক আর্কিটেকচার থেকে এসেছি, যেখানে কোনও সংস্থার অনেকগুলি উপাদান চলছে যা একে অপরের উপর নির্ভর করতে পারে। প্রচারের ব্যর্থতার সময়, লগিংয়ের স্তরগুলি উভয়টি চিহ্নিত করতে সহায়তা করবে যে কোন উপাদানগুলি প্রভাবিত হয়েছে এবং কোনটি মূল কারণ।
ত্রুটি - এই উপাদানটির একটি ব্যর্থতা রয়েছে এবং কারণটি অভ্যন্তরীণ বলে মনে করা হচ্ছে (কোনও অভ্যন্তরীণ, হাতছাড়া সরঞ্জামের ব্যতিক্রম, এনক্যাপসুলেটেড নির্ভরতার ব্যর্থতা ... উদাহরণস্বরূপ ডাটাবেস, REST উদাহরণ হতে পারে এটি নির্ভরতা থেকে 4 xxx ত্রুটি পেয়েছে)। বিছানা থেকে আমাকে (এই উপাদানটির রক্ষণাবেক্ষণকারী) পান।
সতর্কতা - এই উপাদানটি একটি নির্ভরশীল উপাদান দ্বারা সৃষ্ট বলে বিশ্বাস করা ব্যর্থ হয়েছে (REST উদাহরণটি নির্ভরতা থেকে 5XX স্থিতি হবে)। বিছানা থেকে এই উপাদানটির রক্ষণাবেক্ষণকারীদের পান।
তথ্য - আমরা অপারেটরের কাছে পেতে চাই অন্য যে কোনও কিছু। যদি আপনি সুখী পথগুলিতে লগ করার সিদ্ধান্ত নেন তবে আমি উল্লেখযোগ্য ক্রিয়াকলাপের জন্য 1 লগ বার্তা সীমাবদ্ধ করার প্রস্তাব দিই (যেমন আগত http অনুরোধ)।
সমস্ত লগ বার্তাগুলির জন্য দরকারী প্রসঙ্গে লগ করতে ভুলবেন না (এবং "ত্রুটি কোডগুলি" র্যামগুলি না করে বার্তাগুলিকে মানব পাঠযোগ্য / দরকারী করে তুলতে অগ্রাধিকার দিন)
- DEBUG (এবং নীচে) - মোটেও ব্যবহার করা উচিত নয় (এবং অবশ্যই উত্পাদনে নয়)। বিকাশে আমি টিডিডি এবং ডিবাগিংয়ের সংমিশ্রণটি ব্যবহার করার পরামর্শ দেব (যেখানে প্রয়োজন সেখানে) লগ স্টেটমেন্ট সহ দূষণকারী কোডের বিপরীতে। উত্পাদনে, উপরের আইএনএফও লগিং, অন্যান্য মেট্রিকগুলির সাথে মিলিত পর্যাপ্ত হওয়া উচিত।
উপরের লগিং স্তরগুলিকে কল্পনা করার একটি দুর্দান্ত উপায় হ'ল প্রতিটি উপাদানগুলির জন্য মনিটরিং স্ক্রিনগুলির একটি সেট কল্পনা করা। যখন সমস্ত ভাল চলছে তখন তারা সবুজ হয়ে উঠবে, যদি কোনও উপাদান একটি সতর্কতা লগ করে তবে এটি কমলা (অ্যাম্বার) হয়ে যাবে যদি কোনও কিছুতে ত্রুটি লগ হয় তবে তা লাল হয়ে যাবে।
কোনও ঘটনার ক্ষেত্রে আপনার একটি (মূল কারণ) উপাদানটি লাল হওয়া উচিত এবং প্রভাবিত সমস্ত উপাদান কমলা / অ্যাম্বার হওয়া উচিত।