2016-03-31 9 views
15

में ASP.NET (एमवीसी शामिल) सी # के साथ Log4Net को कॉन्फ़िगर/सेटअप कैसे करें I फ़ाइलों को सॉफ़्टवेयर प्रक्रिया लॉग रिकॉर्ड करना चाहते हैं। के बजाय अपने खुद के लॉग प्रणाली बनाने के लिए, मैं ASP.NET MVC के साथ log4net उपयोग करने के लिए कोशिश कर रहा हूँ, लेकिन मैं दृश्य स्टूडियो 2015 में यह स्थापित करने, जैसी समस्याओं में चलाने की है:विजुअल स्टूडियो 2012 ~

  1. कैसे सेटअप web.config/ग्लोबल.एक्सएक्स पेज?

  2. वीएस 2015 में घटकों को कैसे स्थापित करें?

  3. मेरे *.cs फ़ाइल में इसका उपयोग कैसे करें?

विजुअल स्टूडियो 2015 में ASP.NET MVC C# के साथ Log4Net को ठीक से कॉन्फ़िगर करने के चरण क्या हैं?

मैंने एएसपी.NET वेबफॉर्म, के लिए इसे सेट करने के लिए एक क्यू & ए भी लिखा है How to use Log4net from Nuget with Visual Studio platform in the ASP.NET Web Form (Easy method) देखें।

उत्तर

52

Step1: Nuget का उपयोग log4net पैकेज प्राप्त करने के लिए:

enter image description here

चरण 2: एक्सएमएल विन्यास (Web.config) से खुद को प्रारंभ करने में log4net बताओ, Application_Start() तहत Global.asax.cs फ़ाइल में इस कॉल जोड़कर :

log4net.Config.XmlConfigurator.Configure(); 

enter image description here

चरण 3: आत्मविश्वास जोड़ने टैग <configSections>...</configSections> के बीच Web.config में guration अनुभाग:

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

enter image description here

, वास्तविक log4net विन्यास <log4net>...</log4net> डालें और उदाहरण के लिए Apache log4net™ Config Examples देखें:

<log4net debug="true"> 
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="logs\log.txt" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="100KB" /> 
     <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> 

enter image description here

आप अब ' wr को ILog पर कॉल करने के लिए तैयार हैं कॉन्फ़िगर किया गया appender (रों) करने के लिए वास्तविक लॉग बयान ite:

ILog log = log4net.LogManager.GetLogger(typeof(HomeController));  

public ActionResult Index() 
{ 
    log.Debug("Debug message"); 
    log.Warn("Warn message"); 
    log.Error("Error message"); 
    log.Fatal("Fatal message"); 
    ViewBag.Title = "Home Page"; 
    return View(); 
} 

enter image description here

+0

वहाँ है कि स्थिर "लॉग" सदस्य के लिए एक impelling कारण है? जिस तरह से मैं इसे देखता हूं वह यह है कि आपको केवल गैर-स्थिर सदस्य "लॉग" है ... – marco6

+0

@ marco6 हाय सर आपके प्रश्न के लिए आपकी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद, मैं व्यक्तिगत कोडिंग शैली के लिए बस "स्थिर" का उपयोग करता हूं, अगर आप जानना चाहते हैं कि कृपया यह क्यों देखें [यूआरएल] (https://msdn.microsoft.com/en-us/library/79b3xss3 (v = vs.80) .aspx) धन्यवाद फिर से –

+5

@ विलीचेंग मेरी टिप्पणी इस तथ्य के बारे में थी कि एक स्थिर सदस्य का उपयोग करते समय आईएमएचओ सबसे फायदेमंद विकल्प है, आपका कोड प्रत्येक क्रिया करने के लिए एक गैर स्थैतिक उदाहरण का उपयोग करता है ("ILog लॉग" स्पष्ट रूप से गैर स्थैतिक है, जबकि आपका स्थिर लॉग कभी प्रारंभ नहीं होता है)। मैंने कुछ ऐसा किया होगा: "निजी स्थैतिक ILog लॉग {get;} = LogManager.GetLogger (टाइपऑफ (होमकंट्रोलर));" और अपनी दूसरी घोषणा हटा दें। – marco6

संबंधित मुद्दे