मैं अपने सी # ऐप में लॉगिंग को कार्यान्वित करने के तरीके में देख रहा हूं - इसकी एक डीएलएल क्लास लाइब्रेरी है। किस लॉगिंग फ्रेमवर्क का व्यापक रूप से उपयोग किया जाता है - मेरे डीएलएल के उपयोगकर्ताओं को सबसे लचीलापन और कॉन्फ़िगर करने योग्यता क्या होगी? क्या log4j का सी # बराबर है?सी # में सबसे व्यापक रूप से उपयोग किए जाने वाले लॉगिंग फ्रेमवर्क क्या हैं?
उत्तर
.NET प्लेटफॉर्म के लिए log4j के समतुल्य log4net है और मुझे लगता है कि इसका व्यापक रूप से उपयोग किया जा रहा है।
संपादित (लेखक द्वारा नहीं): मामले में आप log4net का उपयोग नहीं करना चाहते हैं, तो यहाँ https://github.com/quozd/awesome-dotnet/blob/master/README.md#logging से विकल्प की एक किस्म है:
- Essential Diagnostics - का विस्तार की इनबिल्ट सुविधाओं System.Diagnostics नाम स्थान लचीला प्रवेश प्रदान करने के लिए
- NLog - NLog - उन्नत नेट और सिल्वरलाइट प्रवेश करने
- Logazmic - ओपन सोर्स एनएलओ MVC
- Logary के लिए Elmah - - सरकारी ELMAH साइट
- Elmah MVC - विंडोज
- ELMAH के लिए जी दर्शक Logary एक उच्च प्रदर्शन, बहु लक्ष्य प्रवेश, मीट्रिक, अनुरेखण और स्वास्थ्य की जांच मोनो और नेट के लिए पुस्तकालय है। DropWizard के .NET का जवाब। माइक्रो-सेवाओं के लिए बनाए गए कई लक्ष्यों का समर्थन करता है।
- Log4Net - NoSQL युग के लिए एक बकवास लॉगिंग पुस्तकालय - अपाचे log4net पुस्तकालय
- Serilog उत्पादन लक्ष्य की एक किस्म के प्रोग्रामर उत्पादन लॉग बयान मदद करने के लिए एक उपकरण है। एक उपयोग में आसान पैकेज में पारंपरिक और संरचित नैदानिक लॉगिंग का सर्वोत्तम संयोजन है।
- StackExchange.Exceptional - त्रुटि हैंडलर स्टैक एक्सचेंज नेटवर्क
- Semantic Logging Application Block (SLAB) के लिए इस्तेमाल किया - System.Diagnostics.Tracing नाम स्थान (EventSource वर्ग) की इनबिल्ट सुविधाओं का विस्तार Azure टेबल्स सहित कई डूब करने के लिए लॉग इन करने, डेटाबेस, फ़ाइलें (JSON, एक्सएमएल, पाठ)। ईटीडब्ल्यू के माध्यम से इन-प्रोसेसिंग और आउट-ऑफ-प्रोसेस लॉगिंग का समर्थन करता है, और वास्तविक समय फ़िल्टरिंग/घटनाओं के एकत्रण के लिए आरएक्स का समर्थन करता है।
- Foundatio - एक धाराप्रवाह लॉगिंग API जिसका उपयोग आपके पूरे एप्लिकेशन में संदेशों को लॉग करने के लिए किया जा सकता है।
- Exceptionless - Exceptionless नेट ग्राहक
- Loupe - केन्द्रीकृत नेट प्रवेश और निगरानी। [मालिकाना][नि: शुल्क टीयर]
- elmah.io - नेट वेब अनुप्रयोगों ELMAH प्रयोग करने के लिए बादल लॉगिंग। लाइव जाने से पहले बग खोजें। शक्तिशाली खोज, एपीआई, स्लैक, गिटहब, विजुअल स्टूडियो और अधिक के साथ एकीकरण। [Free for OSS][$]
- BugSnag - त्रुटियों को लॉग्स। स्टैक ट्रेस, सत्र, रिलीज इत्यादि जैसी उपयोगी नैदानिक जानकारी शामिल है। निशुल्क स्तर है। [ओएसएस के लिए नि: शुल्क] [$]
मैं लगभग सभी मेरे .NET अनुप्रयोगों में log4net का उपयोग करता हूं। हालांकि, मेरी कक्षाओं में सीधे लॉग 4नेट का संदर्भ नहीं है, मैं इंटरफ़ेस के पीछे इस आधारभूत संरचना को छिपाता हूं और निर्भरता इंजेक्शन का उपयोग करता हूं। – JohnRudolfLewis
हम log4net का भी उपयोग कर रहे हैं। यह बहुत अच्छा है। अविश्वसनीय रूप से लचीला, अविश्वसनीय रूप से तेज़। –
लॉग 4नेट का उपयोग करें और कभी वापस न देखें ... क्या SO4 लॉग 4net का उपयोग नहीं करता है? –
NLog सफलतापूर्वक कई परियोजनाओं में इस्तेमाल किया है।
मैं वर्षों से सफलतापूर्वक एनएलओजी का उपयोग कर रहा हूं और यह बहुत अच्छी तरह से प्रोजेक्ट है।
हम log4net पर कॉल करके लागू अपने स्वयं के लॉगिंग वर्गों का उपयोग करते हैं। यह स्रोत कोड में हजारों प्रत्यक्ष संदर्भों से परहेज करते हुए हमें इस लचीली और व्यापक रूप से उपयोग किए गए ढांचे का लाभ उठाने की अनुमति देता है।
लोग एंटरप्राइज़ लाइब्रेरी का उपयोग कर रहे हैं। लेकिन यह सच हो सकता है कि डेवलपर्स इन दिनों अन्य उत्पादों पर स्विच कर रहे हैं।
मैं इसे देखता हूं और देखता हूं कि इसमें आवश्यक कार्यक्षमता है और बहुत अधिक ब्लोट नहीं है।
Enterprise Library. यह मजबूत है और माइक्रोसॉफ्ट से सीधे उनके सभी बेहतरीन प्रथाओं के साथ आता है। हम इसे अपनी सभी परियोजनाओं में उपयोग करते हैं। यह बहुत लचीला है और एक यूआई उपकरण है जिसका उपयोग आप कॉन्फ़िगरेशन फ़ाइल से लॉगिंग प्रबंधित करने के साथ गड़बड़ नहीं करना चाहते हैं।
डाउनवॉटिंग क्योंकि एंटरप्राइज़ लाइब्रेरी मजबूत नहीं है। यह धीमा है, हास्यास्पद उपरि जोड़ता है, और एपीआई महान नहीं है, या तो। एंटरप्राइज़ लाइब्रेरी के बारे में आपकी राय के बावजूद –
@ जॉन, यह अभी भी सबसे व्यापक रूप से उपयोग किया जाता है (संभवतः क्योंकि यह सीधे माइक्रोसॉफ्ट से आता है) और प्रश्न के अनुसार लचीलापन और कॉन्फ़िगरेशन की आवश्यकता है। मेरा मानना है कि यह सवाल का एक पूरी तरह से वैध जवाब है। – desigeek
इसका व्यापक रूप से उपयोग क्या करता है? EntLib.Logging में log4net (https://www.nuget.org/packages/log4net/) के लिए 2.6M की तुलना में NuGet पर 280K डाउनलोड (https://www.nuget.org/packages/EnterpriseLibrary.Logging/) है। वास्तव में एनएलओजी में 1.5 एम है और सेरिलोग में 130 के हैं।मेरा मुख्य आपत्ति है जिसे आपने इसे मजबूत कहा है। सभी टीमों ने मैंने इसका इस्तेमाल करके खेद व्यक्त किया। वैसे, "यह धीमा है और हास्यास्पद उपरि जोड़ता है" एक राय नहीं है। –
log4net लगभग निश्चित रूप से सबसे आम है।
लेकिन मैं Common.Logging का उपयोग करें - http://netcommon.sourceforge.net/ के रूप में यह मेरे लचीलापन प्रदान करता है
वर्तमान में उपयोग में, log4net, उद्यम लाइब्रेरी लॉगिंग, NLog, नाम करने के लिए नेट के लिए कार्यान्वयन प्रवेश करने की एक किस्म है सबसे अधिक लोकप्रिय। भिन्नता कार्यान्वयन का नकारात्मक पक्ष यह है कि वे एक सामान्य इंटरफ़ेस साझा नहीं करते हैं और इसलिए के उपयोगकर्ताओं पर आपकी लाइब्रेरी लागू करने के लिए एक विशेष लॉगिंग कार्यान्वयन लागू करते हैं।
Common.Logging पुस्तकालय रनटाइम पर एक विशिष्ट प्रवेश कार्यान्वयन चयन की अनुमति देना एक सरल अमूर्त परिचय देता है। इस प्रकार आप परिनियोजन तक उपयोग करने के लिए लाइब्रेरी लॉगिंग के निर्णय को स्थगित कर सकते हैं। के लिए एडाप्टर का उपयोग किसी विशेष लॉगिंग सिस्टम को सामान्य.लॉगिंग में प्लग करने के लिए किया जाता है।
निर्णय को हटाने का क्या फायदा है? – BKSpurgeon
वाह, यह 8 साल से अधिक पुराना है। सामान्य के रूप में। लॉगिंग ने कहा (और अभी भी करता है), आप तैनाती तक अपने निर्णय को स्थगित कर सकते हैं। उदाहरण के लिए; शायद आप अपने सिस्टम को whitelabel करना चाहते हैं? और उस कंपनी के लिए devops जो इसे होस्ट करना चाहते हैं एंटरप्राइज़ लाइब्रेरी लॉगिंग पसंद करते हैं, जबकि एक और devops टीम log4net पसंद करते हैं। – gef
मैं Common.Logging (टिप के लिए धन्यवाद, BTW) उपयोग करने में रुचि है, लेकिन प्रदर्शन भूमि के ऊपर अमूर्त परत/क्रम संकल्प द्वारा किए गए के थके हुए हूँ। क्या आप शायद इससे संबंधित किसी भी मानक के बारे में जानते हैं? –
- 1. सी ++ में उपयोग किए जाने वाले सबसे छोटे एम्बेडेड ब्राउज़र क्या हैं?
- 2. सी में कुछ व्यापक रूप से उपयोग की जाने वाली क्रिप्टोग्राफी/हैश पुस्तकालय क्या हैं?
- 3. "स्पष्ट: दोनों;" के लिए उपयोग किए जाने वाले सबसे उपयुक्त HTML5 तत्व क्या हैं प्रयोजनों?
- 4. एक्सएसएलटी में उपयोग किए जाने वाले @ (एट) प्रतीक क्या है?
- 5. आपके द्वारा उपयोग किए जाने वाले सर्वोत्तम लॉग विश्लेषण टूल का क्या उपयोग है?
- 6. स्थानांतरित किए जाने वाले वस्तुओं से स्थानांतरित हो गए हैं?
- 7. क्या क्लास आधारित विचार Django समुदाय द्वारा व्यापक रूप से उपयोग किए जाते हैं?
- 8. क्या फ़ंक्शन निष्पादन के बाद PHP फ़ंक्शंस में उपयोग किए जाने वाले चर स्वचालित रूप से अनसेट होते हैं?
- 9. टेक्स्टमेट में उपयोग किए जाने वाले मानक प्रोग्रामिंग फ़ॉन्ट क्या हैं?
- 10. आज फर्मवेयर परीक्षण में उपयोग किए जाने वाले कुछ उपलब्ध सॉफ़्टवेयर टूल क्या हैं?
- 11. क्या सीवी पृष्ठभूमि के रूप में उपयोग किए जाने वाले एसवीजी के लिए एक पॉलीफिल है?
- 12. क्या अक्सर उपयोग किए जाने वाले जावा एपीआई कार्यों पर कुछ आंकड़े हैं?
- 13. क्या मैं सी ++ डीएल द्वारा उपयोग किए जाने वाले कॉलिंग सम्मेलन को प्रोग्रामिक रूप से कम कर सकता हूं?
- 14. विज़ुअल सी में उपयोग किए जाने वाले फास्टकॉल कीवर्ड क्या है?
- 15. क्या मैं Django साइट पर उपयोग किए जाने वाले हास्केल में घटकों को लिख सकता हूं?
- 16. क्या .NET में अंतर्निहित लॉगिंग फ्रेमवर्क है?
- 17. उद्देश्य-सी में, कथन विभाजक के रूप में उपयोग किए जाने पर अल्पविराम क्या करता है?
- 18. सी में व्यापक रूप से कौन सा डेटा संरचना का उपयोग किया जाता है?
- 19. क्या विंडोज वर्कफ़्लो व्यापक रूप से उपयोग किया जाता है?
- 20. एनएसआईटपुटस्ट्रीम के रूप में उपयोग किए जाने वाले एनएसओयूटपुटस्ट्रीम को भड़काना?
- 21. वास्तविक दुनिया में आपके द्वारा काम किए जाने वाले कुछ सामान्य प्रोग्रामिंग कार्य क्या हैं?
- 22. एमवीसी (ज़ेंड फ्रेमवर्क) में लॉगिंग
- 23. क्या माइक्रोसॉफ्ट कभी भी LINQ द्वारा उपयोग किए जाने वाले सभी संग्रहों को बना देगा?
- 24. लॉगिंग फ्रेमवर्क?
- 25. जावा/सी # से सी ++ में जाने का सबसे अच्छा तरीका क्या है?
- 26. आपके द्वारा उपयोग या देखे जाने वाले सबसे अच्छे टूस्टिंग बिल्डर क्लास क्या हैं? यह क्या अच्छा लगा
- 27. जावा में बुलाए जाने वाले डॉकस्ट्रिंग क्या हैं?
- 28. क्या मिनिक्राफ्ट में उपयोग किए जाने वाले इस नमूना एल्गोरिदम का नाम है?
- 29. एएसपी.NET/IIS में उपयोग किए जाने वाले गैर मानक HTTP क्रिया "DEBUG" क्या है?
- 30. ऐप इंजन डेटास्टोर में उपयोग किए जाने वाले नामस्थान का क्या नाम है?
मैं ReflectInsight एक कोशिश http देना होगा: // http: //insightextensions.codeplex.com/ – code5
यहां प्रवेश चौखटे की एक सूची है: https://github.com/quozd/awesome-dotnet/blob /master/README.md#logging –