मैं आम तौर पर हर वर्ग में निम्नलिखित की घोषणा:log4net रणनीति?
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
और प्रत्येक वर्ग के भीतर स्थिर सदस्य का उपयोग विभिन्न स्तरों (जानकारी, डिबग, आदि)
पर लॉग इन करने के मुझे लगता है कि कहीं न कहीं देखा था और किया गया है इसे कुछ हद तक दिमागी तरीके से उपयोग करते हुए, यह तर्क है कि सेटअप नामस्थान द्वारा फ़िल्टर करने में मदद करने के लिए पर्याप्त लचीला है और व्यक्तिगत प्रकार लॉग इन करता है यदि मैं उत्पादन समस्याओं का निवारण करना चाहता हूं और क्या नहीं।
लेकिन मुझे शायद ही कभी ठीक लॉगिंग के "स्तर" का उपयोग करना पड़ा। तो, मैं देखना चाहता हूं कि दूसरे क्या उपयोग कर रहे हैं। क्या आप उपर्युक्त का उपयोग करते हैं, क्योंकि मुझे लगता है कि बहुत से लोग इसका उपयोग कर रहे हैं, या आप नामांकित लॉगर्स जैसे "डीबग", "ट्रेस", "एरर", "मॉड्यूलए" इत्यादि बनाते हैं और लॉगर को विभिन्न प्रकारों में साझा करते हैं विधानसभाएं?
उत्कृष्ट। धन्यवाद। – Chasler
क्या आपने इस पर एक प्रोफाइलर चलाया है? इस जानवर की निष्पादन गति बहुत बड़ी है। और यहां तक कि यदि आप उत्पादन में DEBUG लॉगिंग स्तर को चालू करना चाहते हैं तो भी आपको एक ही लागत लगेगी। अगर आप वास्तव में लॉगर में विधि नाम की आवश्यकता है तो मैं कुछ बिंदु देख सकता हूं लेकिन फिर, जब उदा। अपवाद होते हैं आप अपवाद में उस नाम स्टैकट्रेस वैसे भी ... –
सुंदर यकीन है कि यह काफ़ी नया CallerName विशेषता ने ले जाता है मिलेगा - http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices देखते हैं। callermembernameattribute% 28v = vs.110% 29.aspx – keithl8041