Ich versuche, SemanticLogging-svc.exe von der Enterprise Library Semantic Logging Application Block zu bekommen, um Ereignisse für meine benutzerdefinierte Ereignisquelle zu hören und sie an die Konsole auszugeben.Keine Ereignisse registriert mit SemanticLogging-Dienst auf einzelnen Server
Das funktioniert gut für meinen localhost und für einen Entwicklungsserver, aber ich erhalte keine Ausgabe für einen Produktionsserver. Also suche ich nach Antworten, warum das so sein könnte.
Die Konsolenausgabe ist einfach:
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns="http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw SemanticLogging-svc.xsd">
<traceEventService/>
<sinks>
<consoleSink name="ConsoleEventSink">
<sources>
<eventSource name="INNOMATE-HR-Security" level="LogAlways"/>
</sources>
<eventTextFormatter header="+=========================================+"/>
</consoleSink>
</sinks>
</configuration>
Es gibt keine Ereignisse im Windows-Ereignisprotokoll:
Event Trace Session prefix: Microsoft-SemanticLogging-Etw Sink name: ConsoleEventSink Event sources: Name: b3b81ce4-1cb6-512c-f02f-46aefff0344d INNOMATE-HR-Security, Level: LogAlways, MatchAnyKeyword: None Service started.
Mein SemanticLogging-svc.xml sieht wie folgt aus.
Ich habe auch mit einem rollingFlatFileSink versucht. Dies führt zu einer leeren Datei auf dem Produktionsserver, funktioniert aber auf den anderen Systemen.
Wenn Sie in PerfMon> Datenkollektorgruppen> Ereignisverfolgungssitzungen suchen, sehe ich, dass Microsoft-SemanticLogging-Etw-ConsoleEventSink ausgeführt wird.
Mit PerfView werden meine Ereignisse korrekt erfasst.
Der fragliche Server ist ein älterer Server mit Windows Server 2008 R2.
Gibt es eine Einstellung, die ich vermisse, oder hat jemand eine andere Erklärung, warum das nicht funktioniert?
Vielen Dank im Voraus.
Das Problem ist sowohl beim Ausführen von SemanticLogging-svc als Konsolen-App (mit dem Argument -console) als auch als Dienst - beide mit vollen Administratorrechten. Das Hinzufügen der Leistungsprotokollbenutzergruppe hilft ebenfalls nicht. –
Was ist das Betriebssystem und. NET-Version in Ihren anderen Umgebungen? –
Und in der Produktion auch. –