का उपयोग करते समय इष्टतम रणनीति मैंने अपने ऐप में लॉग 4नेट एकीकृत किया है। लॉगिंग लॉग इन करने में सहायता करने के लिए मेरे पास कुछ सहायक तरीके हैं जो लॉग लॉगनेट कहते हैं। रिफैक्टरिंग करते समय, मैं इन विधियों को बेस क्लास में ले जाने की योजना बना रहा हूं ताकि कोड अन्य व्युत्पन्न कक्षाओं में दोहराया न जाए।लॉग 4नेट - विरासत
विरासत मॉडल के बिना, प्रत्येक वर्ग
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
आधार वर्ग में ऊपर रखने आधार वर्ग के रूप में घोषित करने प्रकार वापस आ जाएगी में सही ढंग से काम किया निम्न और वर्ग प्राप्त नहीं।
इस घोषणा को बेस क्लास में स्थानांतरित करने का सबसे अच्छा तरीका क्या है?
वर्तमान में, मैं इसे प्राप्त करने के कुछ तरीकों के बारे में सोच सकता हूं लेकिन उन्हें इष्टतम नहीं ढूंढ सकता।
धन्यवाद स्टीफन। तो क्या मुझे "लॉग" गैर स्थैतिक बनाने की आवश्यकता होगी? – byte
या बेस क्लास कन्स्ट्रक्टर में कुछ लिखें जैसे (बेस क्लास.लॉग == नल) {बेसक्लास.लोग = लॉगमैनेजर.गेटलॉगर (यह। गेट टाइप()); } // मानते हुए लॉग अभी भी बेस क्लास – byte
में निजी स्थिर है यह स्थैतिक नहीं हो सकता है क्योंकि आपको प्रति व्युत्पन्न कक्षा में एक उदाहरण की आवश्यकता है। –