2009-08-24 17 views
14

के साथ log4net को कॉन्फ़िगर करना मैंने कंसोल आउटपुट में सब कुछ लॉग इन करने के लिए log4net को कॉन्फ़िगर करने का प्रयास किया। मैं Log4Net.configxml फ़ाइल

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 
    <log4net> 
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="ConsoleAppender" /> 
    </root> 
    </log4net> 
</configuration> 

नाम के एक कॉन्फ़िग फ़ाइल है और मैं अपने मुख्य वर्ग (सिर्फ एक परीक्षण मामले)

namespace TestLog4Net { 
    class Program { 
     private static readonly ILog log = LogManager.GetLogger(typeof(Program)); 

     static void Main(string[] args) { 
      log.Info("Info"); 
      log.Error("Error"); 
      Console.ReadKey(); 
     } 
    } 
} 

मैं AssemblyInfo.cs

[assembly: log4net.Config.XmlConfigurator(
ConfigFile = "Log4Net.config", Watch = true)] 

लेकिन अब कुछ भी नहीं करने के लिए इन पंक्तियों के जोड़ लिया है लॉग है, क्या कोई इसे समझा सकता है?

+0

मुझे बिल्कुल वही समस्या मिल रही है। मेरे पास समान कार्यान्वयन है और फिर भी मैं समस्या को ठीक करने में सक्षम नहीं हूं। क्या आप इसे ठीक करने में मेरी मदद कर सकते हैं? – Karthikeyan

+2

सुनिश्चित करें कि log4net.config फ़ाइल को "आउटपुट में कॉपी करें" -> गुणों में "हमेशा कॉपी करें" के रूप में चिह्नित किया गया है। – Amit

उत्तर

18

जब आपके पास एक अलग कॉन्फ़िगरेशन फ़ाइल में log4net config है, तो आपको कॉन्फ़िगरेशन और कॉन्फ़िगरेशन तत्वों को शामिल नहीं करना चाहिए। xml declartion के बाद log4net शीर्ष स्तर तत्व होना चाहिए।

17

इस तरह से प्रयास करें। मेरे लिए काम किया ..

string logFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "\\Config\\Log4Net.config"); 
    FileInfo finfo = new FileInfo(logFilePath); 
    log4net.Config.XmlConfigurator.ConfigureAndWatch(finfo); 

मैं बहुत देर से जबाब पता है। लेकिन किसी एक के लिए उपयोगी होगा।

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