2010-01-06 11 views
12

किसी को भी पता है कि log4net कॉन्फ़िगर करने की एक धाराप्रवाह तरीका है (appenders और appenders आदि ... के लिए सभी गुण) है।Fluent log4net विन्यास

एक्सएमएल मुझे पागल कर रहा है।

या यदि नहीं, किसी को भी एक सभ्य नेट प्रवेश रूपरेखा है कि आसानी से धाराप्रवाह विन्यस्त किया जा सकता है और इसी तरह सुविधाओं की पेशकश log4net के जानता है?

+0

कौन सा config के टुकड़े आप के साथ परेशानी हो रही है के लिए NLog लिए चले गए हैं? – Paolo

+3

+1 एक्सएमएल एकीकरण परीक्षणों में संभालने के लिए वास्तव में परेशान है। फाइलें विभिन्न परियोजना स्तरों से लगातार एक-दूसरे को ओवरराइड कर रही हैं। –

उत्तर

7

कूल चियर्स मैं उसकी समीक्षा करेंगे। जो भी मैं log4net में खोज रहा था उसे मिला।

Annoyingly हम कैसल लॉगिंग सुविधा का उपयोग कर जो केवल एक xml फ़ाइल के लिए एक स्ट्रिंग लेने के लिए लगता है शुरू कर दिया है! तो इसे डीएसएल के माध्यम से सब कुछ करने और पूर्व निर्माण चरण के रूप में हमारी एक्सएमएल कॉन्फ़िगरेशन उत्पन्न करने पर विचार करना पड़ सकता है।

private static void ConfigureLog() 
    { 
     var root = ((Hierarchy)LogManager.GetRepository()).Root; 
     root.AddAppender(GetConsoleAppender()); 
     root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "standard.log", Level.Debug)); 
     root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "error.log", Level.Warn)); 
     root.Repository.Configured = true; 
    } 

    private static FileAppender GetFileAppender(string directory, string fileName, Level threshold) 
    { 
     var appender = new FileAppender 
     { 
      Name = "File", 
      AppendToFile = true, 
      File = directory + "\\" + fileName, 
      Layout = new PatternLayout(_pattern), 
      Threshold = threshold 
     }; 

     appender.ActivateOptions(); 
     return appender; 
    } 

    private static ConsoleAppender GetConsoleAppender() 
    { 
     var appender = new ConsoleAppender 
     { 
      Name = "Console", 
      Layout = new PatternLayout(_pattern), 
      Threshold = Level.Debug 
     }; 

     appender.ActivateOptions(); 
     return appender; 
    } 
1

आप माइक्रोसॉफ्ट के उद्यम पुस्तकालय पर निर्भरता कोई आपत्ति नहीं है, तो आप Logging Application Block इस्तेमाल कर सकते हैं। विन्यास एक्सएमएल में अब भी है, लेकिन आप दृश्य स्टूडियो में सीधे एक ग्राफिकल इंटरफेस के माध्यम से संपादित कर सकते हैं,

1

मुझे एक्सएमएल-आधारित लॉग 4नेट कॉन्फ़िगरेशन के साथ आपका दर्द महसूस होता है। मैं थोड़ी देर पहले इसे डिबग करने के साथ काफी निराश हो गया था कि मैंने log4net के लिए अपनी खुद की धाराप्रवाह API को एक साथ रखना शुरू कर दिया था। Github पर fluent-log4net देखें। सबकुछ अभी तक 100% समर्थित नहीं है, लेकिन यह वहां जा रहा है।

यह बहुत आसान एक नज़र में एक को देखने के विन्यास का परीक्षण पड़ता है, मैं कहता हूँ जाएगा।

+0

क्या किसी के पास Fluent-log4net (इस उत्तर से) पर एक ट्यूटोरियल है। गिटहब में ट्यूटोरियल वास्तव में उस व्यक्ति को प्रदान नहीं करता है जिसने लॉग 4नेट को बहुत मदद नहीं दी है। – Phil

1

मैं के बाद से इसी कारण