EventLog
Publicado por JuanMa (2 intervenciones) el 21/04/2005 14:08:40
Hola.
He creado una clase log encargada de almacenar en el registro de eventos de windows los mensajes que se le pasan desde otro formulario. El codigo tiene un constructor para la clase que inicializa el log y un metodo (NewEntry) para añadir entradas al log. El problema reside en NewEntry. Al ejecutar EventLog1.WriteEntry ... no se llega a escribir nada. Alguna idea? Finalmente, con una cuenta que no sea administrador me da una excepcion System.Security.SecurityException. Como se puede solucionar. Gracias
Public Class Log
Dim EventLog1 As New EventLog
Sub New(ByVal slogname As String, ByVal slogsource As String)
Me.slogname = slogname
Me.slogsource = slogsource
If Not EventLog.SourceExists(Me.slogsource) Then
EventLog.CreateEventSource(Me.slogsource, Me.slogname)
End If
EventLog1 = New EventLog(Me.slogsource, Me.slogname)
End Sub
Public Sub NewEntry(ByRef EventLog1 As EventLog, ByVal sender As System.Object, ByVal ParamArray aInLog() As String)
Dim snewentry As String, saux As String
If EventLog.Exists(slogname) Then
snewentry = sender.ToString & ControlChars.Tab & "Data: "
For Each saux In aInLog
snewentry.Concat(saux & ControlChars.Tab)
Next
EventLog1.WriteEntry(snewentry)
End If
End Sub
He creado una clase log encargada de almacenar en el registro de eventos de windows los mensajes que se le pasan desde otro formulario. El codigo tiene un constructor para la clase que inicializa el log y un metodo (NewEntry) para añadir entradas al log. El problema reside en NewEntry. Al ejecutar EventLog1.WriteEntry ... no se llega a escribir nada. Alguna idea? Finalmente, con una cuenta que no sea administrador me da una excepcion System.Security.SecurityException. Como se puede solucionar. Gracias
Public Class Log
Dim EventLog1 As New EventLog
Sub New(ByVal slogname As String, ByVal slogsource As String)
Me.slogname = slogname
Me.slogsource = slogsource
If Not EventLog.SourceExists(Me.slogsource) Then
EventLog.CreateEventSource(Me.slogsource, Me.slogname)
End If
EventLog1 = New EventLog(Me.slogsource, Me.slogname)
End Sub
Public Sub NewEntry(ByRef EventLog1 As EventLog, ByVal sender As System.Object, ByVal ParamArray aInLog() As String)
Dim snewentry As String, saux As String
If EventLog.Exists(slogname) Then
snewentry = sender.ToString & ControlChars.Tab & "Data: "
For Each saux In aInLog
snewentry.Concat(saux & ControlChars.Tab)
Next
EventLog1.WriteEntry(snewentry)
End If
End Sub
Valora esta pregunta


0