2008-12-14 14 views
6

मेरे पास एक बाहरी डीएलएल है जिसका स्रोत कोड सी # है। डीएलएल के लिए प्रलेखन से, मैंने निर्धारित किया है कि यह Console.WriteLine का उपयोग कर कंसोल पर अपने डीबग संदेश लिखता है।कंसोल का उपयोग करना। विंडोज़ फॉर्म के भीतर राइटलाइन एप्लिकेशन

मैं इस डीएलएल को WinForms एप्लिकेशन के भीतर उपयोग करना चाहता हूं। हालांकि, मैंने जो पाया है वह है कि मैं डीएलएल द्वारा उत्सर्जित डीबग संदेश नहीं देख सकता क्योंकि WinForms एप्लिकेशन में कंसोल नहीं है।

क्या उन डीबग संदेशों को कैप्चर करने का कोई तरीका है, शायद एक साधारण लॉग फ़ाइल तक भी? बेशक, ProcessInfo.RedirectStandartOutput का उपयोग नहीं किया जाएगा क्योंकि मैं एक प्रक्रिया के रूप में डीएलएल का उपयोग नहीं करता हूं।

उत्तर

14

Console.SetOut पर कॉल करने वाले टेक्स्टवाइटर के साथ कॉल करें (उदा। स्ट्रिंगवाइटर)।

4

आपको सिस्टम का उपयोग करके सबसे अच्छा सेवा दी जाएगी। डायग्नोस्टिक्स नेमस्पेस और डीबग। राइटलाइन इसके बजाए। डीबग 'श्रोताओं' का समर्थन करता है जिन्हें रन-टाइम या ऐप/web.config फ़ाइलों के माध्यम से जोड़ा जा सकता है। उदाहरण के लिए: -

Debug.Listeners.Add(new ConsoleTraceListener()) 

आप एक निशान श्रोता के रूप में किसी भी कस्टम डीबग लॉगिंग लागू करते हैं तो आप अपनी ट्रेस संदेशों आवेदन विस्तृत बहुत आसानी से कर सकता है।

संबंधित मुद्दे