2010-04-29 8 views
6

क्या किसी को पता है कि एसएसआईएस (एसक्यूएल सर्वर एकीकरण सेवाएं) में log4net के माध्यम से लॉगिंग करना संभव है? यदि हां, तो किसी भी पॉइंटर्स और नुकसान के बारे में पता होना चाहिए? तैनाती की कहानी कैसी है?एसएसआईएस के लिए लॉगिंग तंत्र के रूप में log4net का उपयोग करना?

मुझे पता है कि मेरी समस्या का सबसे अच्छा समाधान एसएसआईएस का उपयोग नहीं करना है। हकीकत यह है कि जितना मैं इस पीओएस तकनीक से नफरत करता हूं, जिस कंपनी के साथ मैं काम करता हूं वह कोड लिखने के बजाय इन ऐप्स के उपयोग को प्रोत्साहित करता है। भावहीन।

+0

कई विकल्प प्रवेश के लिए लघु उद्योगों करने के लिए बनाया का उपयोग क्यों नहीं? –

+0

मैंने उन्हें खुद की कोशिश नहीं की है। लेकिन यहां अन्य लोगों द्वारा किए गए पिछले पैकेजों ने लॉग उत्पन्न किए हैं जो बेकार हैं। मुझे लगता है कि मैं उस समय के लिए कोशिश कर सकता हूं, लेकिन एल 4 एन की शक्तियों का उपयोग करने में सक्षम होना बहुत ही अच्छा होगा। – enriquein

+0

तो, एक पाठ फ़ाइल में एसएसआईएस लॉगिंग को लागू करने के बाद मैं निष्कर्ष निकाल सकता हूं कि 1) प्रारूप बहुत बदसूरत है। 2) महत्वपूर्ण जानकारी हमेशा लाइन के अंत में होती है। 3) लॉगफाइल को जोड़ा जा रहा है, यह कभी अधिलेखित नहीं होता है (जो हमें चाहिए)। मुझे यह भी लगता है कि यह उतना ही लचीला नहीं है जितना चाहें। माइक्रोसॉफ्ट का शायद यह एक और उदाहरण है कि ग्राहक क्या चाहते हैं कि ग्राहकों को वास्तव में क्या चाहिए, उन्हें सीधे पूछने के बजाय ग्राहक क्या चाहते हैं। – enriquein

उत्तर

3

तो मेरे अपने प्रश्न का उत्तर देने के लिए: यह संभव है। मुझे यकीन नहीं है कि हमारी तैनाती की कहानी कैसे होगी क्योंकि यह अब से कुछ हफ्तों में किया जाएगा।

मैंने इन स्रोतों से काफी जानकारी ली और इसे काम किया। यह बताता है कि एसएसआईएस, click here के साथ असेंबली असेंबली कैसे काम करते हैं। टीएलडीआर संस्करण: इसे जीएसी में रखें और डीएलएल को अपने लक्षित ढांचे के फ़ोल्डर में कॉपी करें। मेरे मामले में, सी: \ विन्डोज़ \ माइक्रोसॉफ्ट.NET \ Framework \ v2.0.50727। Log4net प्रोग्रामेटिक रूप से कॉन्फ़िगर करने के लिए मैंने संदर्भ के रूप में this link का उपयोग कर समाप्त किया।

using log4net; 
using log4net.Config; 
using log4net.Layout; 
using log4net.Appender; 

public class whatever 
{ 
    private ILog logger; 
    public void InitLogger() 
    { 
     PatternLayout layout = new PatternLayout("%date [%level] - %message%newline"); 
     FileAppender fileAppenderTrace = new FileAppender(); 
     fileAppenderTrace.Layout = layout; 
     fileAppenderTrace.AppendToFile = false; 

     // Insert current date and time to file name 
     String dateTimeStr = DateTime.Now.ToString("yyyyddMM_hhmm"); 
     fileAppenderTrace.File = string.Format("c:\\{0}{1}", dateTimeStr.Trim() ,".log"); 

     // Configure filter to accept log messages of any level. 
     log4net.Filter.LevelMatchFilter traceFilter = new log4net.Filter.LevelMatchFilter(); 
     traceFilter.LevelToMatch = log4net.Core.Level.All; 
     fileAppenderTrace.ClearFilters(); 
     fileAppenderTrace.AddFilter(traceFilter); 

     fileAppenderTrace.ImmediateFlush = true; 
     fileAppenderTrace.ActivateOptions(); 

     // Attach appender into hierarchy 
     log4net.Repository.Hierarchy.Logger root = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root; 
     root.AddAppender(fileAppenderTrace); 
     root.Repository.Configured = true; 
     logger = log4net.LogManager.GetLogger("root"); 
    } 
} 

उम्मीद है कि भविष्य में इस या किसी की मदद कर सकते हैं, तो मैं कभी भी करने की जरूरत कम से कम एक संदर्भ के रूप में सेवा करते हैं:

यह कैसे मेरे लकड़हारा विन्यास कोड उस पर टाइमस्टैम्प के साथ एक फ़ाइल बनाने के लिए की तरह लग रहा है फिर से करो

-2

क्षमा करें, आपने पर्याप्त गहरी खुदाई नहीं की है। 5 अलग-अलग गंतव्यों हैं जिन पर आप लॉग इन कर सकते हैं, और 7 कॉलम जिन्हें आप अपने लॉगिंग में शामिल करना शामिल नहीं कर सकते हैं, साथ ही साथ 18 से 50 अलग-अलग ईवेंटों के बीच भी लॉग ऑन कर सकते हैं जिन्हें आप लॉग ऑन कर सकते हैं। ऐसा लगता है कि आपने डिफ़ॉल्ट लॉगिंग चुना है, और इसे खारिज कर दिया क्योंकि यह आपके लिए बॉक्स से बाहर काम नहीं करता है।
क्या SSIS लॉगिंग साथ किया जा सकता बारे में अधिक जानकारी के लिए इन दो ब्लॉग की जाँच करें: http://consultingblogs.emc.com/jamiethomson/archive/2005/06/11/SSIS_3A00_-Custom-Logging-Using-Event-Handlers.aspx
http://www.sqlservercentral.com/blogs/michael_coles/archive/2007/10/09/3012.aspx

+1

मेरे उत्तर पोस्ट करने से पहले मैंने पहले ही लॉगिंग तंत्र में निर्मित करने की कोशिश की थी और अनुकूलन के साथ खेला था। जो मैंने नहीं सोचा था वह उस कार्यक्षमता को समृद्ध करने के लिए इवेंट हैंडलर का उपयोग कर रहा था। जेमी के ब्लॉग का लिंक एक बहुत ही रोचक पढ़ा गया था। मुझे लगता है कि मैं इसे एक शॉट देने के लिए भी उचित हूं। यह अभी भी नियंत्रण से बाहर बढ़ रहे लॉगफाइल के साथ समस्या को ठीक नहीं करता है। न ही यह लॉगिंग की क्रियात्मकता को द्विपक्षीय रूप से बदलने की क्षमता को ठीक करता है। फिर भी, मुझे लगता है कि एसएसआईएस लॉगिंग फाइलों के अलावा किसी अन्य चीज़ पर लॉग इन करने के लिए उपयोगी हो सकती है। सुझाव के लिए फिर से धन्यवाद। – enriquein

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