2015-03-04 10 views
11

में लॉग 4नेट (या किसी अन्य तृतीय पक्ष लाइब्रेरी) के लिए कॉन्फ़िगरेशन जोड़ने के लिए कैसे मैं स्कॉट गु के ब्लॉग को ASP.NET 5.0 features पर पढ़ रहा था और ब्लॉग में उल्लिखित एक नई सुविधा में से एक है जेसन फ़ाइल को कॉन्फ़िगरेशन और उन्मूलन के रूप में उपयोग करना Web.config फ़ाइल।ASP.NET 5.0

मेरे पास उस सुविधा के आसपास कुछ प्रश्न हैं।

मान लें मैं log4net विन्यास जो पहले कैसे एक config.json में वर्गों जोड़ना होगा ASP.NET

कॉन्फ़िग फ़ाइल

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

<log4net debug="true"> 
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="C:\\TestProj\\TestLog.txt" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> 
    </layout> 
</appender> 

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="RollingLogFileAppender" /> 
</root> 
</log4net> 

के पिछले संस्करण में web.config को जोड़ा गया है निम्नलिखित है?

कोई XML से ऊपर कैसे परिवर्तित होगा और इसे config.json में जोड़ देगा?

क्या तृतीय पक्ष लाइब्रेरी (मेरे उदाहरण लॉग 4नेट में) या पुस्तकालय के उपयोगकर्ताओं को एएसपी.NET 5.0 में प्रदान की गई नई कॉन्फ़िगरेशन सुविधा का लाभ उठाने के लिए जेसन आधारित कॉन्फ़िगरेशन का समर्थन करने के लिए कुछ प्रकार का कस्टम रूपांतरण एपीआई जोड़ना है?

उत्तर

0

लॉग 4नेट के वर्तमान संस्करण जेसन परियोजनाओं का समर्थन नहीं करते हैं, इसलिए कॉन्फ़िगर को एक अलग xml फ़ाइल में होना आवश्यक है।

+0

क्या आप एक उदाहरण प्रदान कर पाएंगे कि उस फ़ाइल को कहां रखा जाना चाहिए, इसका नाम क्या होना चाहिए, इसमें क्या होना चाहिए और इसे कॉन्फ़िगरेशन सिस्टम में कैसे जोड़ा जा सकता है (Startup.cs फ़ाइल में)? –

10

हाल ही में मुझे log4net के साथ एक ही समस्या थी।

log4net.xml फ़ाइल बनाएँ log4net

के लिए विन्यास अनुभाग
<?xml version="1.0" encoding="utf-8" ?> 
<log4net> 
... 
</log4net> 

आप परियोजना रूट फ़ोल्डर में फ़ाइल डाल सकते हैं: मैं इसे निम्नलिखित के रूप में काम करने के लिए कामयाब रहे।

और Startup.Startup() विधि में आप एक विन्यास के रूप में एक्सएमएल प्रदान log4net कॉन्फ़िगर कर सकते हैं:

public Startup(IApplicationEnvironment appEnv) 
{ 
    // ... 

    XmlConfigurator.Configure(new FileInfo(Path.Combine(appEnv.ApplicationBasePath, "log4net.xml"))); 
} 

मुझे आशा है कि इस मदद करता है।