2016-06-01 7 views
1

Ich verwende SLAB Out-of-Process, um ETW-Ereignisse in meinen Anwendungen zu protokollieren.Semantic Logging IsEnabled si immer falsch?

Heute habe ich ein Problem im WCF-Dienste unter WcfTestClient.exe

gehostet Als ich in Breakpoint Writeevent Methoden meiner Eventsource geerbt Klasse setzen, kehren IsEnabled() falsch !!! Also kein Ereignis meines Konsolenprotokoll geschrieben wird out-of-process :(

Als mein ConsoleEventSink beginnt, kann ich meine event registriert mit einem LogAlways Ebene und keinem für MatchAnyKeyword Eigenschaft

Jede Idee zu überprüfen, sehen, was für dieses Problem ist falsch?

Vielen Dank im Voraus

Antwort

4

Sie wahrscheinlich einen Fehler in Ihrer EventSource Klasse.

können Sie analysieren Ihre EventSource, um zu sehen, ob es korrekt definiert ist. Siehe https://dzimchuk.net/post/troubleshooting-slab-out-of-process-logging

Es gibt eine Nuget Paket für es: https://www.nuget.org/packages/EnterpriseLibrary.SemanticLogging.EventSourceAnalyzer/

Versuchen Sie einen Komponententest für das Erstellen und überprüfen Sie das Ergebnis

[TestClass] 
public class EventSourceTests 
{ 
    [TestMethod] 
    public void MyEventSourceShouldBeValid() 
    { 
     var analyzer = new EventSourceAnalyzer(); 

     analyzer.Inspect(MyEventSource.Log); 
    } 
} 
1

Eventsource und etw Loggern gefiltert werden basierend auf Anbieter guid, Ereignisebene, und Ereignisschlüsselwort. Ich bin nicht vertraut mit der Consoleeventsink, aber Sie werden nur Ereignisse erhalten, wenn Sie speziell die Senke angewiesen haben, auf Ihren spezifischen Anbieter zu achten, normalerweise indem Sie ihm die Anleitung des Anbieters geben. Es gibt buchstäblich Tausende (vielleicht Zehntausende) von etw Providern, die auf Ihrem System laufen, und Sie können nicht nur nach Level und Schlüsselwort filtern - Sie müssen auch nach Guid filtern.

Einige neue Verbraucher unterstützen die Angabe des Providernamens anstelle der GUID, in welchem ​​Fall sie die GUID durch Hashing des Namens generieren. Das funktioniert oft gut mit EventSource, weil EventSource so auch seinen Guide generiert.

Verwandte Themen