[VB 2008] EventLog schreiben

18/08/2010 - 14:09 von Karsten Heddenhausen | Report spam
Moin, moin!

Ich will von einem Programm aus Ereignisse in das EventLog schreiben. Nach
etwas Googlen und so bin ich da auch folgende Routine gestossen:

Public Function WriteToEventLog(ByVal Entry As String) As Boolean

Dim objEventLog As New EventLog
Try
If Not EventLog.SourceExists("Objektwechsel") Then
EventLog.CreateEventSource("Objektwechsel", "Application")
End If
objEventLog.Source = "ObjektWechsel"
objEventLog.WriteEntry(Entry, EventLogEntryType.Error, 1)
Return True
Catch Ex As Exception
Return False
End Try
End Function

Aber so kriege ich immer ein False zurück, weil mir das Programm sich gleich
von Sourceexists in den Catch Zweig verabschiedet, Meldung: Die Quelle wurde
nicht gefunden, aber einige oder alle Ereignisprotokolle konnten nicht
durchsucht werden. Protokolle, auf die kein Zugriff möglich war: Security.

Wenn ich die Routine dann etwas Umstelle, làuft sie wenigstens durch, erzeugt
aber nicht die Eintràge in der Form, wie ich es möchte: Public Function
WriteToEventLog(ByVal Entry As String) As Boolean

Dim objEventLog As New EventLog("Application")
Try
'If Not EventLog.SourceExists("Objektwechsel") Then
'EventLog.CreateEventSource("Objektwechsel", "Application")
'End If
objEventLog.Source = "Application"
objEventLog.WriteEntry(Entry, EventLogEntryType.Error, 1)
Return True
Catch Ex As Exception
Return False
End Try
End Function

Was kann ich da machen, das ich meinen Programmnamen im Anwendungslog als
Quelle des Eintrages sehen kann?

Gruß, Karsten
 

Lesen sie die antworten

#1 Peter Fleischer
21/08/2010 - 14:54 | Warnen spam
"Karsten Heddenhausen" schrieb im Newsbeitrag
news:4c6bcd60$0$3308$
...
Ich will von einem Programm aus Ereignisse in das EventLog schreiben. Nach
etwas Googlen und so bin ich da auch folgende Routine gestossen:

Public Function WriteToEventLog(ByVal Entry As String) As Boolean

Dim objEventLog As New EventLog
Try
If Not EventLog.SourceExists("Objektwechsel") Then
EventLog.CreateEventSource("Objektwechsel", "Application")
End If
objEventLog.Source = "ObjektWechsel"
objEventLog.WriteEntry(Entry, EventLogEntryType.Error, 1)
Return True
Catch Ex As Exception
Return False
End Try
End Function

Aber so kriege ich immer ein False zurück, weil mir das Programm sich
gleich
von Sourceexists in den Catch Zweig verabschiedet, Meldung: Die Quelle
wurde
nicht gefunden, aber einige oder alle Ereignisprotokolle konnten nicht
durchsucht werden. Protokolle, auf die kein Zugriff möglich war: Security.



Hi Karsten,
mit Admin-Rechten làuft das Programm bei mir unter Windows7. Üblicherweise
wird CreateEventSource mit Admin-Rechten ausgeführt, um dann spàter das
EventLog zu nutzen. S. auch:

<EventLog Class (System.Diagnostics)>
http://msdn.microsoft.com/en-en/lib...s.eventlog(VS.80).aspx

Viele Gruesse
Peter

Ähnliche fragen