2015-03-01 10 views
19

के साथ Log4Net मैं Azure अनुप्रयोग अंतर्दृष्टि में log4net निशान भेजने के लिए मेरी azure asp.net वेबसाइट को कॉन्फ़िगर करने का प्रयास कर रहा हूं। मैं अपने एज़ूर कंसोल पेज व्यू इत्यादि में देख सकता हूं, इसलिए मुझे पता है कि ठीक काम कर रहा है। मैं फ़ाइल हैंडलर के साथ कॉन्फ़िगर करते समय लॉग 4नेट निशान भी देख सकता हूं, लेकिन एप्लिकेशन अंतर्दृष्टि हैंडलर का उपयोग करने के लिए log4net को कॉन्फ़िगर करते समय मुझे एप्लिकेशन अंतर्दृष्टि डैशबोर्ड में कोई लॉग 4नेट प्रविष्टियां दिखाई नहीं देती हैं, बिल्ड या रन टाइम पर कोई त्रुटि या चेतावनियां नहीं होती हैं - बस डैशबोर्ड में कोई परिणाम नहीं। मैंने फिडलर में नेटवर्क यातायात को देखा है, और मैं पेजव्यू डेटा इत्यादि को एप्लिकेशन अंतर्दृष्टि पर भेजा जा सकता हूं, लेकिन लॉग 4नेट ट्रेस ट्रैफिक नहीं, इसलिए मुझे संदेह है कि यह एक कॉन्फ़िगरेशन समस्या है।आवेदन अंतर्दृष्टि

अलग-अलग मैंने अपने मुख्य प्रोजेक्ट में टेलीमेट्री क्लाइंट() की कोशिश की है, और मैं डैशबोर्ड में tracetraffic sucesfully देखता हूं। हालांकि, यह मेरे उपयोग के मामले में फिट नहीं है क्योंकि टेलीमेट्री क्लाइंट अभी तक गैर asp.net dll का समर्थन नहीं कर रहा है (यानी मेरा व्यवसाय और डेटा तर्क जो अलग-अलग डीएल में हैं)।

कोई भी कोई अंतर्दृष्टि या सलाह प्रदान करता है?

मैं Microsoft.ApplicationInsights.Log4NetAppender.dll के लिए nuget पैकेज स्थापित किया है और मैं Microsoft.ApplicationInsights.0.13.2-build00132 उपयोग कर रहा हूँ

मैं प्रति के रूप में मेरे web.config में निम्न होना http://geekswithblogs.net/jakob/archive/2014/11/09/using-log4net-for-application-insights.aspx

<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <log4net> 
    <root> 
     <level value="ALL"/> 
     <appender-ref ref="aiAppender"/> 
    </root> 
    <appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%message%newline"/> 
     </layout> 
    </appender> 
    </log4net> 
<configuration> 
+0

हैलो, मैं एक ही मुद्दा है ... आप पहले से ही एक समाधान पाया है है? धन्यवाद ... – bob

+0

@bob no, अभी तक नहीं।मैं एमएस टीम के लिए जिम्मेदार हूं लेकिन अभी तक कोई प्रतिक्रिया नहीं है। – BMac

+0

मुझे यह वही समस्या है। मैं एप्लिकेशन अंतर्दृष्टि में लॉग इन किए गए अपूर्ण अपवाद देख सकता हूं लेकिन लॉगऑनेट के लिए कोई ट्रेसिंग नहीं है, भले ही यह फ़ाइल एपेंडर में ठीक दिखाई दे रहा हो। क्या आपको कभी इसके लिए कोई कारण मिला? – Phil

उत्तर

1

आपकी लॉग 4नेट कॉन्फ़िगरेशन सही है; मैंने इसे एक परीक्षण वेबसाइट में उपयोग किया है और यह काम किया है। इसके अलावा, चूंकि आप फिडलर में अन्य एआई डेटा देख रहे हैं, इसलिए आपकी एआई भी ठीक से कॉन्फ़िगर की गई है। ऐसे मामलों में देखने के लिए एक चीज़ log4net.Config.XmlConfigurator विशेषता है। यह एक असेंबली-स्तरीय विशेषता है और log4net कॉन्फ़िगरेशन को ठीक से पढ़ने के लिए आवश्यक हो सकता है।

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 

क्या आप सुनिश्चित कर सकते हैं कि आपने इसे अपनी परियोजना में निर्दिष्ट किया है और पुनः प्रयास करें?

+0

धन्यवाद @ टोकाप्लान मैं इसे आज रात कोशिश करूँगा और किसी भी तरह का जवाब दूंगा, यह निश्चित रूप से ध्वनि को व्यावहारिक बनाता है। – BMac

+0

दुर्भाग्यवश यह कोई फर्क नहीं पड़ता, फिर भी फिडलर के माध्यम से देखने के दौरान आउटबाउंड पर कोई ईवेंट यातायात नहीं दिख रहा था और इसलिए डैशबोर्ड में कुछ भी नहीं। मुझे लगता है कि मैं पहले सिद्धांतों से शुरू करने जा रहा हूं। – BMac

4

Log4Net Appender के प्रीरलीज़ संस्करण को स्थापित करने का प्रयास करें।

मैंने created by someone else चरणों के बाद एक कैननिकल एएसपी.नेट एमवीसी उदाहरण बनाया था और ऊपर एक ही समस्या थी। लेकिन फिर in the Application Insights documentation लिखा कुछ चरणों का पालन किया और पाया कि लॉग 4नेट एपेंडर के लिए प्रीरलीज पैकेज स्थापित करने वाले निर्दिष्ट हैं। ऐसा करने के बाद यह काम किया :)

+0

Thakns @ फिल मैं निश्चित रूप से यह कोशिश करूँगा, और आपको बता दूंगा। – BMac

+1

@ फिल मैं वही करने की कोशिश कर रहा हूं और एपीपी अंतर्दृष्टि लॉग अप अपवाद, अनुरोधों की संख्या इत्यादि कर रहा हूं, लेकिन मैं कहीं भी अपने Log.Info() संदेशों को नहीं देख सकता। कोई सुझाव? – awj

+0

क्षमा करें @awj लेकिन मैं इस समय अपने एप्लिकेशन अंतर्दृष्टि एकीकरण को बिल्कुल नहीं देख रहा हूं और मेरे वर्कलोड का मतलब है कि मुझे थोड़ी देर के लिए संभावना नहीं है। – Phil

0

मेरे मामले में (मैंने मौजूदा वेब एप्लिकेशन में एप्लिकेशन अंतर्दृष्टि जोड़ दी है) Microsoft.ApplicationInsights.Log4NetAppender के अलावा मुझे NuGet का उपयोग करके Microsoft.ApplicationInsights.Web पैकेज जोड़ना पड़ा है। इसके बाद ApplicationInsights.config में आपको अपनी इंस्ट्रूमेंटेशनकी निर्दिष्ट करने की आवश्यकता है।

उदा। ApplicationInsights.config

<?xml version="1.0" encoding="utf-8"?> 
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> 
    <InstrumentationKey>YOUR KEY HERE</InstrumentationKey> 
    <TelemetryModules> 
    ... 
1

मुझे साइटकोर वेबसाइट में एआई को लॉग 4नेट लॉग भेजने के साथ कुछ समस्याएं भी थीं। साइटकोर में लॉग 4नेट का अपना कार्यान्वयन है, इसलिए उसने एआई नुजेट पैकेज के साथ काम नहीं किया। मैंने अपनी खुद की स्वीकृति दी है जिसमें मैं एआई को लॉग भेजता हूं।

public class CustomLogFileAppender : SitecoreLogFileAppender 
    { 
     protected override void Append(LoggingEvent loggingEvent) 
     { 
      if (Sitecore.Context.Site != null) 
      { 

       if(loggingEvent.Level == Level.FATAL) 
       { 
        AppsInsightsLogHelper.Critical(loggingEvent.RenderedMessage); 
       } 

       if (loggingEvent.Level == Level.ERROR) 
       { 
        AppsInsightsLogHelper.Error(loggingEvent.RenderedMessage); 
       } 

       if (loggingEvent.Level == Level.WARN) 
       { 
        AppsInsightsLogHelper.Warning(loggingEvent.RenderedMessage); 
       } 

       if(loggingEvent.Level == Level.INFO) 
       { 
        AppsInsightsLogHelper.Info(loggingEvent.RenderedMessage); 
       } 


      } 

       base.Append(loggingEvent); 
     } 
    } 

sitecore.config में:

<log4net> 
    <appender name="LogFileAppender" type="namespace.CustomLogFileAppender, dll name"> 
     ... 
    </appender> 
</log4net> 
संबंधित मुद्दे