मैं समझता हूं कि log4net 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>
संपादित करें:
पूरी तरह से स्पष्ट होने के लिए: कोई XML फ़ाइल नहीं होना मेरा लक्ष्य है। एक एम्बेडेड संसाधन के रूप में भी नहीं जो मैं एक धारा में बदल जाता हूं। मेरा लक्ष्य लकड़हारे को पूरी तरह से प्रोग्रामेटिक रूप से परिभाषित करना था। बस अगर यह संभव है और अगर मुझे वाक्यविन्यास का एक उदाहरण मिल सकता है तो उत्सुक।