2009-09-25 7 views
7

कोड में लॉग फ़ाइल नाम कैसे प्राप्त कर सकता हूं? (तो मैं यह कंसोल के लिए मुद्रित कर सकते हैं)कोड के माध्यम से लॉग फ़ाइल नाम कैसे प्राप्त कर सकता हूं?

मेरे लॉग फ़ाइल app.config में इस तरह परिभाषित है:

<appender name="RollingLogFileAppender" 
    type="log4net.Appender.RollingFileAppender"> 
     <file value="logfile" /> 
    ... 

उत्तर

8

आप अपने LogManager.GetAllRepositories को देखो। उन रिपॉजिटरीज़ के अंदर जिन्हें आप सभी परिशिष्टों को ILoggerRepository.GetAppenders में देखते हैं। यदि एपेंडर RollingFileAppender प्रकार है तो आप इसकी File संपत्ति देखें, या यदि आप प्रीफर करते हैं तो आप Name द्वारा एपेंडर की जांच कर सकते हैं।

कहा जा रहा है कि यह बहुत आपके कोड में ऐसा कुछ करने के लिए बुरा है। क्या होगा यदि तैनाती पर कॉन्फ़िगरेशन बदल दिया गया है और आप जिस उम्मीदवार की अपेक्षा करते हैं वह अब मौजूद नहीं है?

+0

खैर।, मैं अशक्त के लिए जाँच कर सकते हैं मान। किसी भी तरह app.config पढ़ने के बारे में क्या? – User

+0

http://msdn.microsoft.com/en-us/library/system.configuration.configuration.getsection.aspx पर अपना स्वयं का कॉन्फ़िगरेशन अनुभाग कैसे पढ़ा जाए, इस पर उदाहरण देखें। हालांकि, मैं इसे फिर से अनुशंसा करता हूं। –

+0

मैं कंसोल पर प्रिंट करना चाहता हूं जहां लॉग फ़ाइल सुविधा के लिए है। ऐसा करने का कोई तरीका आप सुझाव देंगे? – User

0

इसकी फ़ाइल संपत्ति देखें।

लॉग Ilog के उदाहरण है

((log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl) Log.Logger) .Appenders.OfType()। FirstOrDefault() फ़ाइल

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

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