CodeGym/Java Course/মডিউল 3/লগিং লেভেল সেট করা হচ্ছে

লগিং লেভেল সেট করা হচ্ছে

বিদ্যমান

4.1 লগিং স্তরের তালিকা

আপনি আপনার প্রোগ্রামটি লিখেছেন, এটি সার্ভারে আপলোড করেছেন এবং তারপরে আপনি অবিলম্বে প্রশ্নগুলি শুরু করেছেন:

  • কিভাবে নিশ্চিত করবেন যে debug()পদ্ধতিটি কাজ করার সময় কাজ করে না production?
  • লগগুলিতে অনেক বেশি তথ্য রয়েছে, আপনি কি শুধুমাত্র ত্রুটি বার্তাগুলি ছেড়ে যেতে চান?
  • কিভাবে অ্যাপ্লিকেশনের একটি অংশের জন্য একটি বিস্তারিত লগ দেখতে?

অবশ্যই, লগের নির্মাতারা কয়েক দশক আগে একই জিনিসের মুখোমুখি হয়েছিলেন। সি ল্যাঙ্গুয়েজে এই সমস্যাটি কিভাবে সমাধান করা হয়েছে তা আমি বলব না, তবে জাভা ভাষায় এটি খুব সুন্দরভাবে সমাধান করা হয়েছে।

লগে তথ্য লেখার আগে ডেটা ফিল্টার করে । লগিং লেভেল সেট করে আপনি খুব দ্রুত লগের বিস্তারিত কমাতে/ বাড়াতে পারেন। এই স্তরগুলি নীচের সারণীতে বর্ণনা করা হয়েছে:

স্তর বিঃদ্রঃ
1 সমস্ত সমস্ত বার্তা লগ করুন
2 ট্রেস ডিবাগ করার সময় ছোট বার্তা
3 ডিবাগ ডিবাগিংয়ের জন্য গুরুত্বপূর্ণ বার্তা
4 তথ্য সহজ বার্তা
5 সতর্ক করুন শুধুমাত্র মারাত্মক, ত্রুটি এবং সতর্কতা লিখুন
6 ত্রুটি শুধুমাত্র ত্রুটি এবং মারাত্মক ত্রুটি লিখুন
7 মারাত্মক শুধুমাত্র মারাত্মক ত্রুটি লিখুন
8 বন্ধ লগে বার্তা লিখবেন না

বার্তাগুলি ফিল্টার করার সময় এই স্তরগুলি ব্যবহার করা হয়। আপনি যদি লগিং লেভেলে সেট করেন WARN, তাহলে কম গুরুত্বপূর্ণ সব বার্তা WARNবাতিল করা হবে: TRACE, DEBUG, INFO. যদি আপনি ফিল্টারিং স্তর সেট করেন FATAL, তাহলে এমনকি ERROR

ফিল্টারিং-এ ব্যবহৃত আরও দুটি তীব্রতা স্তর রয়েছে - এটি OFF(সমস্ত বার্তা বাতিল করুন) এবং ALL- সমস্ত বার্তা লিখুন (কিছুই বাতিল করবেন না)।

4.2 লগ সেটআপ উদাহরণ

আসুন একটি সাধারণ লগ সেটআপ উদাহরণ দেখি। এটি করার জন্য, আমাদের প্রয়োজন log4j.properties ফাইল, যা সম্পদ ফোল্ডারে স্থাপন করা যেতে পারে। এর সাথে নিম্নলিখিত বিষয়বস্তু যোগ করা যাক:

# Root logger option
log4j.rootLogger=WARN, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}

এখানে প্রথম লাইনে আমরা লগিং লেভেল সেট করেছি - WARN। এবং এর মানে হল যে স্ট্যাটাস সহ লগারকে লেখা বার্তাগুলি উপেক্ষা করা DEBUGহবে ।INFO

  • আমরা কি ধরনের অ্যাপেন্ডার ব্যবহার করব তা উল্লেখ করুন -ConsoleAppender
  • আমরা লগ কোথায় লিখব তা নির্দিষ্ট করুন -System.out
  • আমরা ক্লাস সেট করি যা রেকর্ডিং বিন্যাস নিয়ন্ত্রণ করবে -PatternLayout
  • সমস্ত বার্তাগুলির জন্য রেকর্ডিং বিন্যাস সেট করুন - তারিখ এবং সময়৷

4.3 জনপ্রিয় লগিং ভুল

এবং আরও একটি গুরুত্বপূর্ণ পয়েন্ট - লগিংয়ে জনপ্রিয় ত্রুটি। কিছু করার জন্য এতগুলি বিকল্প নেই, তবে বেশ কয়েকটি সাধারণ ভুল চিহ্নিত করা যেতে পারে:

  1. খুব বেশি লগিং । আপনার প্রতিটি ধাপে লগ করা উচিত নয়, যা তাত্ত্বিকভাবে গুরুত্বপূর্ণ হতে পারে। একটি নিয়ম আছে: লগগুলি 10% এর বেশি পারফরম্যান্স লোড করতে পারে না । অন্যথায় কর্মক্ষমতা সমস্যা হবে।
  2. একটি ফাইলে সমস্ত ডেটা লগ করা হচ্ছে । এটি কিছু সময়ে পড়া/লিখতে খুব কঠিন হবে, নির্দিষ্ট সিস্টেমে ফাইলের আকারের সীমা আছে তা উল্লেখ না করে।
  3. ভুল লগিং স্তর ব্যবহার করে . লগিংয়ের প্রতিটি স্তরের স্পষ্ট সীমানা রয়েছে এবং তাদের সম্মান করা উচিত। যদি সীমানা অস্পষ্ট হয়, তাহলে আপনি কোন স্তরটি ব্যবহার করবেন সে বিষয়ে সম্মত হতে পারেন।
মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই