2009-12-07 7 views
9

बस चाहते IIS7 लॉग फ्लश करने के लिए एक आदेश नहीं है:क्या डब्ल्यूसीएफ ट्रेस की मांग में कमी करने का कोई तरीका है?

netsh http flush logbuffer 

मैं सोच रहा हूँ एक ऐसी ही आदेश की मांग पर WCF ट्रेस लॉग फ्लश करने के लिए किया जाता है वहाँ।

उत्तर

1

एक तरीका आईआईएस रीसेट करना है, लेकिन यह केवल एक विकल्प है जब डेवलपमेंट बॉक्स पर डिबगिंग होता है।

+0

उत्तर के लिए धन्यवाद, यह एकमात्र जानकारी है जिसे मैंने अभी तक पाया है। –

+0

यह थोड़ी देर हो गया है और तकनीकी रूप से आपका उत्तर सही है इसलिए मैंने इसे स्वीकार कर लिया। –

28

autoflush="true" को अपने .config फ़ाइल में सेट करना सुनिश्चित करता है कि ट्रेस स्रोत प्रत्येक ट्रेस के बाद डिस्क पर फ्लश करते हैं।

<configuration> 
<system.diagnostics> 
    <sources> 
    <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" 
       propagateActivity="true"> 
    <listeners> 
     <add name="xml" type="System.Diagnostics.XmlWriterTraceListener" 
         initializeData="e2eTraceTest.xml" /> 
    </listeners> 
    </source> 
    </sources> 

    <trace autoflush="true" /> 

</system.diagnostics> 
</configuration> 

इसके अलावा, यदि कोई संयोग से यदि आप एक डेटाबेस में अपने WCF ट्रेस स्टोर करने के लिए तैयार हैं, तो आप इस पोस्ट की जाँच करने के लिए चाहते हो सकता है:

निम्नलिखित autoflush="true" के साथ एक नमूना विन्यास फाइल है

इस फ्लू के बिना, आप वास्तविक समय में अपने WCF ट्रेस देखने के लिए अनुमति होगी इसे शिंग

+0

यह एक विकल्प है, मुझे इसके बारे में याद होगा, धन्यवाद। –

+0

@ पियेटर: आप उत्तर में वर्णित अनुसार 'autoflush = true' विधि पर भी विचार करना चाहेंगे। –

+2

यही वह है जो मैंने अंततः किया था। हालांकि मुझे बफरिंग करना होगा जो संसाधनों को संरक्षित करेगा और मांग पर और बफर ओवरफ्लो (और/या कम संसाधन उपयोग) पर फ्लशिंग की अनुमति देगा। मुझे लगता है कि सर्वर के परिप्रेक्ष्य से फायदेमंद होगा। –

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