2013-01-11 61 views
5

मैं अपने समाधानों में से log4net का उपयोग कर रहा हूं। समाधान में कई परियोजनाएं हैं, प्रत्येक यूनिट-टेस्ट प्रोजेक्ट। मैं विभिन्न परियोजनाओं में लॉगिंग जोड़ने के लिए this post में वर्णित विधि का उपयोग कर रहा हूं।लॉग 4नेट एकाधिक प्रोजेक्ट्स

मैं एक रोलिंग फ़ाइल एपेंडर का उपयोग कर रहा हूं ताकि सभी परीक्षणों को एक लॉग फ़ाइल में लॉग ऑन किया जा सके जो आकार के आधार पर रोल हो।

मेरी प्रत्येक परियोजना लॉग फ़ाइल में सफलतापूर्वक लॉग ऑन करती है, हालांकि, यदि मैं कई परियोजनाओं से परीक्षण चलाता हूं (एकाधिक परीक्षण असेंबली), मुझे केवल असेंबली के पहले से लॉगिंग दिखाई देती है।

उदाहरण के लिए

, अगर मैं Project_A और Project_B से परीक्षण चलाने, मैं केवल से बयान प्रवेश करने को देखने के Project_A (यह मानते हुए कि Project_A's परीक्षण परीक्षण समय में पहले चलाए गए)

बातें मैं पहले से ही जांच कर ली है :

  • मैं एक कड़ी के रूप में प्रत्येक परियोजना में कॉन्फ़िग फ़ाइल को शामिल किया है

  • मैंने प्रत्येक परियोजना की असेंबली फ़ाइल में [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)] जोड़ा है।

  • मैंने प्रत्येक प्रोजेक्ट को अलग से परीक्षण किया है ताकि यह सुनिश्चित किया जा सके कि वे स्वयं चलाते समय सफलतापूर्वक लॉग इन करें।

+0

आप अपने यूनिट परीक्षण से लॉग क्यों करना चाहते हैं? क्या आप पोस्ट में अब तक जो भी लॉगिंग कोड और कॉन्फ़िगरेशन सेक्शन जोड़ सकते हैं, जोड़ सकते हैं? –

+0

क्या आप ' '' ' कॉन्फ़िगरेशन के अंदर उपयोग कर रहे हैं? – madth3

+0

@ रायनगेट्स: ये कोडित यूआई टेस्ट हैं और लॉगिंग स्वचालन और मैन्युअल परीक्षण के बीच के अंतर को पुल करने के प्रयास का हिस्सा है। –

उत्तर

5

इस मुद्दे को समझ लिया और सोचा कि मैं एक ही दुविधा में दूसरों के लिए वापस रिपोर्ट करूंगा।

प्रत्येक प्रोजेक्ट की लिंक की गई कॉन्फ़िगरेशन फ़ाइल की संपत्ति को प्रतिलिपि से प्रतिलिपि बनाने के लिए प्रतिलिपि बदलने की आवश्यकता है यदि नया। एक बार जब मैंने यह परिवर्तन किया, तो सभी परियोजनाएं उसी फ़ाइल में लॉग इन की गईं।