Table of Contents
আধুনিক সফ্টওয়্যার উন্নয়নের জন্য নমনীয় এবং টেকসই লগিং কাঠামো তৈরি করা দরকার। কার্যকর ডিবাগ এবং মনিটরিং এবং মনিটরিং এর জন্য কার্যকরভাবে ব্যবহৃত। রেসপন্স-এর বাগানের পরীকন এই পদ্ধতিতে অনেকগুলো হ্যান্ডলারের লগিং এর মাধ্যমে এই ধরনের লগিং প্রক্রিয়াকে প্রভাবিত করার একটি শক্তিশালী উপায় সরবরাহ করে। এই নিবন্ধটি পরীক্ষা করে সি. সি. আর.
দায়িত্ববোধের বোঝা
দায়িত্বের চাও এর সঙ্গে এমন একটা হ্যান্ডলারের চেইন পার হওয়ার সঙ্গে জড়িত । লগিং এর ফলে প্রত্যেক হ্যান্ডলার সিদ্ধান্ত নিতে পারে যে একটি লগ বার্তা পাঠাতে, পাস করতে, অথবা দুটোকেই পাশ কাটিয়ে যেতে, তাড়াতাড়ি এগিয়ে যেতে, তাড়াতাড়ি পদ্ধতিগত কোড পরিবর্তন করা সম্ভব ।
লগিং ফ্রেমওয়ার্ক নকশা করা হচ্ছে
এই দৃষ্টান্তকে প্রয়োগ করার জন্য, একটি নৈর্ব্যক্তিক পরিসংখ্যান শ্রেণীকে সংজ্ঞায়িত করুন, যার মধ্যে পরবর্তী হ্যান্ডলারের উল্লেখ রয়েছে ।
- [[F] [FOFP][F][FLT][F]:][FLT]:][PREB] সহ ভিত্তি শ্রেণী একটি পদ্ধতি সহ বার্তার ব্যবস্থাপনা এবং পরবর্তী লগ-ইন সম্বন্ধে একটি রেফারেন্স।
- [[F][FR][FLT][FFLT]:::LL লগার, ফাইল, ইত্যাদি ।
- [[F]L [F] লগ ইনিং [FLT][FLT]:] [FLTR]:] [L].s] লগ ফাইলের ধারা [PL]
অ্যাবস্ট্র্যাক্টলগলগলগার
নক্স শ্রেণী একটি পদ্ধতি [FLT] উল্লেখ করে যা বার্তাকে প্রেরণ বা এগিয়ে নিয়ে যায় । এটির অন্তর্ভুক্ত হল চেইনের পরবর্তী গণনাটি স্থাপন করার একটি পদ্ধতি ।
public abstract class Logger
{
protected Logger nextLogger;
public void SetNext(Logger next)
{
nextLogger = next;
}
public void Log(string message)
{
if (CanHandle(message))
{
WriteMessage(message);
}
if (nextLogger != null)
{
nextLogger.Log(message);
}
}
protected abstract bool CanHandle(string message);
protected abstract void WriteMessage(string message);
}
ব্যাক-আপ নির্মাণ করা হচ্ছে
চিহ্নিত লগের সাথে, প্রতি সেকেন্ডে [FLT] এবং[FLT] পদ্ধতি [FLT] দ্বারা উপেক্ষা করা হয়। উদাহরণ: example:3:] প্রেরিত বার্তার সকল বার্তা পরিচালনার জন্য একটি কনসোল খোলা হতে পারে, এবং শুধুমাত্র একটি ফাইল ব্যবস্থা উপলব্ধ করা হলে এই বার্তাগুলি সঞ্চালিত হবে ।
public class ConsoleLogger : Logger
{
protected override bool CanHandle(string message)
{
// Handle all messages
return true;
}
protected override void WriteMessage(string message)
{
Console.WriteLine($"Console: {message}");
}
}
public class ErrorFileLogger : Logger
{
protected override bool CanHandle(string message)
{
// Example: handle only error messages
return message.Contains("Error");
}
protected override void WriteMessage(string message)
{
// Write to error log file
File.AppendAllText("error.log", message + Environment.NewLine);
}
}
লগার চাবিনকে উপহাস করা
লগিং সিস্টেম স্থাপন করতে, st আরম্ভ করতে, প্ররিমোট অর্ডারে তাদের সঙ্গে যুক্ত করে । একটি বার্তা যুক্ত হলে, এটি চেইনটি অতিক্রম করে, একে অপরকে এই প্রক্রিয়া চালানোর অনুমতি দেয়।
var consoleLogger = new ConsoleLogger();
var errorLogger = new ErrorFileLogger();
consoleLogger.SetNext(errorLogger);
// Usage
consoleLogger.Log("This is a regular message.");
consoleLogger.Log("Error: Something went wrong.");
নির্দেশনার ব্যবহার
দায়িত্বহীন বিন্যাসের চাওনের সঙ্গে একটি লগ কাঠামো স্থাপন করা বেশ কিছু সুবিধা প্রদান করে:
- [[[F] Explet] [[FF][FLT] :] সাধারণত সাধারণত বিদ্যমান কোড পরিবর্তন না করে নতুন নতুন হ্যান্ডলার যোগ করো
- [[F] Debruft:[[[FFLT] s] স্বাধীনভাবে পরিচালনা, পুনঃসেটলার নকশা প্রচার করা.
- [[FLT] Fedly:[[FFLT] বিভিন্ন দৃশ্যের জন্য ভিন্ন পরস্পরের চেইন কনফিগার করো ।
অন্তর্ভুক্ত
সি #ই-তে রেপন্সেশনের কার্যক্ষমতা ব্যবহার করে একটি পরিবর্তনলার লগ কাঠামো ডিজাইন করা হয়েছে। এতে করে নতুন পদ্ধতি তৈরি করা হয়েছে এবং তা কার্যকরী করা হয়েছে।