यह एक तीसरी पार्टी के ढांचे, अर्थात् Serilog की आवश्यकता है, लेकिन मैं फिर भी मिल गया है यह एक बहुत कुछ जगह मैं इसे देख सकते हैं करने के लिए उत्पादन हो रही है साथ चिकनी अनुभव किया जाना है।
आपको पहले सेरिलोग के Trace sink इंस्टॉल करने की आवश्यकता है। एक बार स्थापित है, तो आप इस तरह लकड़हारा स्थापित करने के लिए की जरूरत है:।
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.CreateLogger();
(आप एक अलग न्यूनतम स्तर सेट या config मूल्य या सामान्य Serilog कार्यक्षमता में से किसी को सेट कर सकते हैं तुम भी Trace
लकड़हारा सेट कर सकते हैं किसी विशिष्ट स्तर पर कॉन्फ़िगरेशन ओवरराइड करने के लिए, या फिर भी आप ऐसा करना चाहते हैं)
तो फिर तुम सिर्फ सामान्य रूप से संदेशों लॉग इन करें और वे अपने आउटपुट विंडो में दिखाई देते हैं:।
Logger.Information("Did stuff!");
इस तरह की तरह प्रतीत नहीं होता एक बड़ा सौदा, तो मुझे कुछ addit समझाओ आयनिक फायदे मेरे लिए सबसे बड़ी एक था कि मैं एक साथ दोनों आउटपुट खिड़की और सांत्वना लिए लॉग ऑन कर सकते हैं:,
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.WriteTo.Console(standardErrorFromLevel: LogEventLevel.Error)
.CreateLogger();
यह मैं कैसे मैं उत्पादन का सेवन के मामले में महान लचीलापन दिया करने के लिए अपने सभी कॉल्स नकल के बिना Console.Write
Debug.Write
के साथ। कोड लिखते समय, जब मैं बाहर निकलता हूं तो आउटपुट खोने के डर के बिना मैं विजुअल स्टूडियो में अपना कमांड लाइन टूल चला सकता था। जब मैंने इसे तैनात किया था और कुछ डीबग करने की आवश्यकता थी (और विजुअल स्टूडियो उपलब्ध नहीं था), तो कंसोल आउटपुट मेरी खपत के लिए आसानी से उपलब्ध था।एक ही संदेश को किसी फ़ाइल (या किसी अन्य प्रकार के सिंक) पर भी लॉग किया जा सकता है जब यह शेड्यूल किए गए कार्य के रूप में चल रहा हो।
नीचे की रेखा यह है कि ऐसा करने के लिए सेरिलोग का उपयोग करके संदेशों को कई स्थानों पर डंप करना वाकई आसान हो गया है, यह सुनिश्चित करने के लिए कि मैं हमेशा इसे कैसे चलाता हूं, इस पर ध्यान दिए बिना मैं आसानी से आउटपुट तक पहुंच सकता हूं।
यह भी बहुत कम सेट अप और कोड की आवश्यकता है।
'Debug.WriteLine()' –
का उपयोग करने का प्रयास करें चूंकि यह एक पुरानी पोस्ट है, इसलिए मैं इसे प्रश्न के दौरान ठोकर खाने वालों के लिए एक टिप्पणी के रूप में जोड़ दूंगा। वास्तव में कोड बदलने के बजाय, आप ट्रेसपॉइंट्स नामक विशेष ब्रेकपॉइंट्स का भी उपयोग कर सकते हैं। [एमएसडीएन दस्तावेज] देखें (http://msdn.microsoft.com/en-us/library/vstudio/232dxah7 (v = vs.100) .aspx) –
बस एक अनुस्मारक कि Debug.WriteLine() केवल चलने पर ही काम करेगा डीबग में इसका मतलब है कि इसे F5 के साथ चलाना और CTRL-F5 नहीं। यह याद करना आसान है। –