2009-04-23 5 views
1

Dies scheint mir eine etwas spezifischere Frage, die bereits gestellt wurde, also: Wie zuverlässig ist der Windows Event Log Dienst, wenn ich nach einem 'fire and forget'-Logging-Dienst suche, so dass auch nur Ein Fehler beim Aufruf des Dienstes hat keine Auswirkungen auf den Anrufer und wird irgendwo vom OS bemerkt?Robust Event Logging

+0

Gibt es eine bestimmte Situation, von der Sie glauben, dass sie zu einem Schluckauf im Service selbst führen wird? – theG

+0

Mangel an Speicherplatz? – ProfK

+0

Es gibt Einstellungen, die steuern, was das Ereignisprotokoll macht, wenn die Festplatte gefüllt wird. Löschen Sie die ältesten Ereignisse, um in ein Budget zu passen. Also halt die CPU und weigere sich zu booten. Sie (der Administrator des PCs) entscheiden sich. – RBerteig

Antwort

2

Auf Windows-Seite ist das Ereignisprotokoll in Ordnung. So lange von so vielen Anwendungen verwendet, ist es definitiv stabil. Ich bin sicher, dass Sie kreative Wege finden können, um die API zu crashen, indem Sie sie mit schlechtem Input füttern, aber das trifft wahrscheinlich auf jede API zu. Bei richtiger Verwendung wird es funktionieren.

Mit diesem gesagt, verwenden Sie normalerweise nicht das Ereignisprotokoll in einem "Feuer und vergessen" -Kontext. Beachten Sie, dass es sich um ein System-Global-Protokoll handelt, das von einem Administrator gelesen werden soll. Wenn zu viele Ereignisse gefüttert werden, wird es aus der Sicht des Administrators ziemlich nutzlos. Wenn Sie es sparsam und nur für wichtige Ereignisse verwenden, können Sie sich Zeit nehmen und sicherstellen, dass Ihre Eingabe gültig ist und keine Ausnahmen an Ihre Hauptlogik weitergegeben werden. Wenn Sie nach einer echten "Fire and Forget" -Protokollierungsinfrastruktur suchen, sollten Sie einen Blick auf ETW werfen. Dies ist eine leistungsstarke Infrastruktur zur Ereignisprotokollierung, die in Windows integriert ist.

0

Nach meiner Erfahrung hatte ich nie ein programmatisches Problem mit dem Event Service. Ich hatte einmal ein Problem, aber es war ein 4201 (?) "Zugriff verweigert" -Fehler, der durch die "Gurus" der Plattformen in meinem Laden verursacht wurde. Aber niemals etwas in Bezug auf Nutzung oder API-Aufrufe.

0

Das Windows Ereignisprotokoll hat für uns in der Praxis gut funktioniert. Die einzigen Probleme, die wir bezüglich der Stabilität hatten, waren in den Tagen von NT4 und sind in der Praxis schon lange vorbei. Stellen Sie nur sicher, dass Sie es nicht wiederholt mit dem gleichen Ereignis Flut oder es wird ein Schmerz, um tatsächlich zu sehen;)