আমি ট্রেসিং এবং লগিং সম্পর্কে অনেক কিছু পড়ছি, বিষয়টি সম্পর্কে সর্বোত্তম অনুশীলনের জন্য কিছু সুবর্ণ নিয়ম সন্ধান করার চেষ্টা করেছি, তবে এর মধ্যে কিছু নেই। লোকেরা বলে যে ভাল প্রোগ্রামাররা ভাল ট্রেসিং উত্পাদন করে তবে এটিকে সেভাবে রাখে এবং এটি অভিজ্ঞতা থেকে আসতে হবে।
আমি এখানে এবং ইন্টারনেটের মাধ্যমেও অনুরূপ প্রশ্নগুলি পড়েছি এবং এগুলি আমি যা জিজ্ঞাসা করছি ঠিক তেমনটি নয় বা সন্তোষজনক উত্তর নেই, কারণ প্রশ্নগুলির কিছু বিশদ নেই।
সুতরাং, ভাবেন লোকেরা বলছেন যে ট্রেসিংয়ের ক্ষেত্রে অ্যাপ্লিকেশনটি ডিবাগ করার অভিজ্ঞতা বাছাই করা উচিত যেখানে আপনি কোনও ডিবাগার সংযুক্ত করতে পারবেন না। এটির পর্যাপ্ত প্রসঙ্গটি সরবরাহ করা উচিত যাতে অ্যাপ্লিকেশনের প্রতিটি নিয়ন্ত্রণ পয়েন্টে কোন পাথটি নেওয়া হয় তা আপনি দেখতে পান।
আরও গভীরে গিয়ে আপনি এমনকি ট্রেসিং এবং ইভেন্টের লগিংয়ের মধ্যে পার্থক্য করতে পারেন, "ইভেন্ট লগিংটি নিয়ন্ত্রণের প্রবাহের পরিবর্তে প্রধান রাজ্যগুলিকে ক্যাপচার করে" তা চিহ্নিতকরণের চেয়ে আলাদা।
এখন, আমি শুধুমাত্র মান .NET ক্লাস, সেই ব্যবহার করে আমার হদিশ এবং লগিং কাজ করতে চান বলে System.Diagnostics
নামস্থান। আমি টের পেয়েছি যে ট্রেসসোর্স ক্লাসটি স্ট্যাটিক ট্রেস ক্লাসের চেয়ে কাজের জন্য ভাল, কারণ আমি ট্রেস স্তরের মধ্যে পার্থক্য করতে চাই এবং ট্রেসসোর্স ক্লাস ব্যবহার করে আমি ইভেন্টের ধরণের তথ্য জানাতে একটি প্যারামিটারে পাস করতে পারি, ট্রেস ক্লাসটি ব্যবহার করার সময় আমার অবশ্যই ব্যবহার করা উচিত Trace.WriteLineIf
এবং তারপর ভালো জিনিস যাচাই SourceSwitch.TraceInformation
এবং SourceSwitch.TraceErrors
, এবং এটা এমনকি মত বৈশিষ্ট্য নেই TraceVerbose
বা TraceStart
।
এই সমস্ত বিষয় মাথায় রেখে, আপনি কি নীচের মতো করে একটি ভাল অনুশীলন বিবেচনা করবেন:
- কোনও পদ্ধতি শুরু করার সময় "স্টার্ট" ইভেন্টটি সন্ধান করুন, যা পদ্ধতিতে পাস হওয়া প্যারামিটার মানগুলির একটি স্ট্রিং প্রতিনিধিত্ব সহ একটি একক লজিকাল অপারেশন বা একটি পাইপলাইন উপস্থাপন করা উচিত।
- ডাটাবেসে কোনও আইটেম সন্নিবেশ করানোর সময় একটি "তথ্য" ইভেন্টের সন্ধান করুন।
- গুরুত্বপূর্ণ / / অন্য বিবৃতিতে একটি পথ বা অন্য পথে যাওয়ার সময় একটি "তথ্য" ইভেন্টের সন্ধান করুন।
- এটি একটি পুনরুদ্ধারযোগ্য ত্রুটি কিনা তার উপর নির্ভর করে ক্যাচ ব্লকে একটি "সমালোচক" বা "ত্রুটি" সন্ধান করুন।
- পদ্ধতির কার্য সম্পাদন শেষ করার পরে একটি "স্টপ" ইভেন্ট সন্ধান করুন।
এবং এছাড়াও, দয়া করে ভারবোজ এবং সতর্কতার ইভেন্টের ধরণগুলি কখন সন্ধান করা যায় তা স্পষ্ট করে বলুন। আপনার যদি সুন্দর ট্রেস / লগিং সহ কোডের উদাহরণ থাকে এবং ভাগ করে নিতে রাজি হন তবে তা দুর্দান্ত।
দ্রষ্টব্য: আমি এখানে কিছু ভাল তথ্য পেয়েছি, তবে এখনও আমি যা খুঁজছি তা তা খুঁজে পায় না: http://msdn.microsoft.com/en-us/magazine/ff714589.aspx