আমি বুঝতে পেরেছি কেন লগ 4 নেট app.configলগিং সেট আপ করার জন্য ফাইলগুলি ব্যবহার করে - যাতে আপনি আপনার কোডটি পুনরায় সংকলনের প্রয়োজন ছাড়াই তথ্য কীভাবে লগইন করা যায় তা সহজেই পরিবর্তন করতে পারবেন। তবে আমার ক্ষেত্রে আমি app.configআমার এক্সিকিউটেবলের সাথে কোনও ফাইল প্যাক করতে চাই না । এবং আমার লগিং সেটআপটি পরিবর্তন করার কোনও ইচ্ছা আমার নেই।
আমার বদলে কোড লগ-ইন ব্যবহার সেট আপ করার জন্য একটি উপায় আছে কি app.config?
এখানে আমার সাধারণ কনফিগারেশন ফাইলটি দেওয়া হয়েছে:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\EventLog.txt" />
<appendToFile value="false" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="1GB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
</appender>
<root>
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="MemoryAppender" />
</root>
</log4net>
</configuration>
সম্পাদনা করুন:
সম্পূর্ণ পরিষ্কার হতে: এক্সএমএল ফাইল না রাখা আমার লক্ষ্য। এমনকী এম্বেড হওয়া সংস্থান হিসাবেও নয় যে আমি একটি স্রোতে পরিণত করি। আমার লক্ষ্য ছিল লगरকে পুরোপুরি প্রোগ্রামগতভাবে সংজ্ঞায়িত করা। এটি সম্ভব হলে কেবল কৌতূহল এবং যদি তাই হয় যেখানে আমি সিনট্যাক্সের উদাহরণ খুঁজে পেতে পারি।