2011-07-04 24 views
6

मेरी कंपनी का मानक लॉगिंग टूल एनएलओजी है। मैं Quartz.net को पेश करने की कोशिश कर रहा हूं और पूछा गया कि क्या यह Log4Net के बजाय NLog का उपयोग कर सकता है।मैं क्वार्ट्ज.Net में Log4Net से NLog पर कैसे स्विच करूं?

मुझे पता है कि मैं एनएलओजी का उपयोग करने के लिए पुन: संकलित कर सकता हूं, लेकिन यदि संभव हो तो मैं इसे कॉन्फ़िगरेशन फ़ाइलों से करना चाहता हूं।

उत्तर

7

मान लीजिए कि आप Quartz.net 1.0.3 का उपयोग कर रहे हैं।

<configuration> 
    <configSections> 
     <sectionGroup name="common"> 
     <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
     </sectionGroup> 
    </configSections> 

    ... 

    <common> 
     <logging> 
     <factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog"> 
     <arg key="configType" value="FILE" /> 
     <arg key="configFile" value="~/NLog.config" /> 
    </factoryAdapter> 
     </logging> 
    </common> 

</configuration> 
: तो फिर आप अपने आवेदन के config फ़ाइल में निम्न विन्यास जोड़ने के लिए

Common.Logging
Common.Logging.NLog
NLog

: आप निम्नलिखित विधानसभाओं के लिए एक संदर्भ जोड़ने के लिए

ध्यान दें कि मैं बाहरी NLog.config फ़ाइल का उपयोग कर रहा हूं।

नोट:

Quartz.net Common.Logging संस्करण 1.2 का उपयोग करता है।

+0

यह बहुत अच्छा काम करता है! धन्यवाद। भविष्य के पाठकों के लिए बस एक नोट। सुनिश्चित करें कि सभी डीएलएल सही फ़ोल्डर में कॉपी हो गए हैं। –

+1

बस अगर कोई सिर्फ एक आम चाहता है। उसकी परियोजना में लॉजिंग संस्करण, मैंने क्वार्ट्ज को 2.0 के साथ एक हवा की तरह दोबारा बनाया है। स्रोत डाउनलोड करें, बाइनरी को प्रतिस्थापित करें और पुन: संकलित करें। – Kjellski

2

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

आप संदर्भ nuget से उपयुक्त संस्करण की 'Common.Logging.NLog', सामान्य तौर पर अपने लॉगिंग कॉन्फ़िगर और अंत से जोड़ें:

var config = new NameValueCollection(); 
var adaptor = new NLogLoggerFactoryAdapter(config); 
Common.Logging.LogManager.Adapter = adaptor; 

क्वार्ट्ज प्रवेश के सभी (और सभी आम लॉगिंग) अब आपके मौजूदा नलॉग विन्यास पर अग्रेषित किया जाएगा।