Log4Net con Applicazione Approfondimenti

Sto cercando di configurare il mio azure asp.net sito web per inviare log4net tracce di Azure Applicazione delle conoscenze. Io vedo nel mio azure console di visualizzazioni di pagina ecc, quindi so che sta lavorando bene. Posso anche vedere log4net tracce, quando è configurato con un gestore di file, ma quando la configurazione di log4net per utilizzare l’applicazione intuizioni gestore non vedo log4net voci vengono visualizzate nell’applicazione insight dashboard, senza errori o avvisi a costruire o di esecuzione – a soli nessun risultato nel cruscotto. Ho guardato il traffico di rete in Fiddler, e posso vedere la visualizzazione di una pagina di dati ecc essere inviate all’applicazione approfondimenti, ma non la log4net traccia del traffico, quindi ho il sospetto che questo è un problema di configurazione.

Separatamente ho provato il TelemetryClient() nel mio progetto principale, e vedo il tracetraffic sucesfully nel cruscotto. Tuttavia, ciò non è il mio caso d’uso come TelemetryClient non sembra per il supporto non asp.net dll ancora (cioè, il mio business e logica dei dati che sono separati dll).

Chiunque offrire eventuali suggerimenti o consigli?

Ho installato il pacchetto nuget per Microsoft.ApplicationInsights.Log4NetAppender.dll e sto usando Microsoft.ApplicationInsights.0.13.2-build00132

Ho il seguente nel mio web.config come per https://blog.ehn.nu/2014/11/using-log4net-for-application-insights/

<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>
  • Ciao, ho lo stesso problema… hai già trovato una soluzione? Grazie…
  • no, non ancora. Ho raggiunto il MS team responsabile, ma nessun feedback di sicurezza.
  • Sto avendo questo stesso esatto problema. Posso vedere le eccezioni non gestite registrato in Applicazione Intuizioni ma nessuna analisi per log4net, anche se appare nel file appender bene. Avete mai trovare una ragione per questo?
  • ciao @Phil , non ho purtroppo. Ho parcheggiato questo, per ora, come il mio progetto attuale è di un paio di mesi fuori produzione come ancora faccio piano tornando a questa, prima che il mio andare a vivere data però. Certamente aggiornamento se dovessi ottenere una correzione.
  • Grazie per la risposta @Macb. Ho cercato di creare un esempio canonico in seguito a ciò il qualcun altro aveva scritto nel suo blog ma ancora non funziona. Ho lasciato un commento sul blog di pesca per eventuali suggerimenti e tornerà con eventuali approfondimenti (scusate il gioco di parole) che mi viene in mente.
  • Mi sono imbattuto in una soluzione possibile e inviato una risposta – incrociamo le dita aiuta anche a voi!
  • Sto facendo un passo attraverso il codice nel Riflettore. Io non ce l’ho completamente funzionante, ma ho fatto qualche progresso. Il tipo di attributo di appender elemento di prova “ApplicationInsights.Log4Net.InsightsAppender, ApplicationInsights.Log4Net, Version=38.0.0.0, Culture=neutral, PublicKeyToken=null” o qualunque sia il AssemblyQualifiedName per la DLL. “assemblea qualificata nome” e “nome di assembly” sono diverse, una differenza che ho visto in un primo momento. Se l’appender tipo non è in log4net DLL, penso che ha bisogno di qualificati nome dell’assembly.

InformationsquelleAutor BMac | 2015-03-01

 

4 Replies
  1. 4

    Provare ad installare una versione non definitiva del Log4Net Appender.

    Avevo creato una canonica ASP.NET MVC esempio riportato di seguito la procedura creata da qualcun altro e aveva lo stesso problema di cui sopra. Ma poi di seguito alcuni passi scritti nell’Applicazione Intuizioni documentazione e ha scoperto che quelli specificati installazione del Preliminare pacchetto per il log4net appender. Dopo aver fatto che di opere 🙂

    • Thakns @Phil non mancherò di dare a questo una prova e ti faccio sapere.
    • Sto cercando di fare lo stesso e di avere APp Intuizioni di registrazione eccezioni, il numero di richieste, ecc…. ma io non riesco a vedere il mio Log.Info() messaggi ovunque. Qualche suggerimento?
    • Mi dispiace @awj, ma io non sto guardando la mia Applicazione Intuizioni di integrazione molto a tutti al momento e il mio carico di lavoro significa che io non sono probabile che per un po ‘ entrambi.
  2. 2

    Tuo log4net configurazione è corretta; l’ho usato in un sito web di prova e ha funzionato. Inoltre, dal momento che si sta vedendo altre AI dati in Fiddler, la tua intelligenza artificiale è anche configurato correttamente.
    Una cosa da cercare in questi casi è il log4net.Config.XmlConfigurator attributo. È un attributo a livello di assembly e potrebbe essere necessario per log4net di configurazione per essere letto correttamente.

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

    Si può, si prega di assicurarsi di averlo specificato nel progetto e provare di nuovo?

    • grazie @tokaplan mi deve dare a questo una prova stasera e rispondere ad ogni modo, questo di certo non sembra plausibile.
    • purtroppo questo non sembra fare alcuna differenza, ancora nessun caso il traffico mostrando in uscita durante la visualizzazione tramite il violinista e, quindi, nulla nel pannello di controllo. Penso che ho intenzione di iniziare con i primi principi.
  3. 2

    Nel mio caso (ho aggiunto Applicazione Approfondimenti per applicazione web esistente) oltre Microsoft.ApplicationInsights.Log4NetAppender ho dovuto aggiungere Microsoft.ApplicationInsights.Web pacchetto tramite NuGet. Dopo di che, hanno creato ApplicationInsights.config è necessario specificare la InstrumentationKey.

    E. g. di ApplicationInsights.config

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

    Ho anche avuto alcuni problemi con l’invio della Log4Net registri per l’IA in un Sitecore sito web. Sitecore ha una propria implementazione di Log4Net così non ha funzionato con l’IA del pacchetto Nuget. Ho fatto la mia stessa Apprender in cui mi inviare i log di AI.

     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);
            }
        }

    In sitecore.config:

    <log4net>
        <appender name="LogFileAppender" type="namespace.CustomLogFileAppender, dll name">
          ...
        </appender>
    </log4net>
    • Ciao Robin, ho anche fatto la mia stessa appender, ma in qualche modo, qualche eccezione non mostrare AI portale. Ti sei imbattuto in problemi simili?

Lascia un commento