在vb.net中写入事件日志

问题描述 投票:0回答:2

我在 vb.net 中开发了一个 sharepoint 2007 功能。 里面有一个应用程序页面,在 onload 方法中,我想在事件日志中写入消息

Dim cs As String = "TESTLOG"
    Dim elog As New EventLog()
    Dim sourceExist As Boolean

    Try
        sourceExist = EventLog.SourceExists(cs)
    Catch ex As Exception
        sourceExist = False
    End Try

    If Not sourceExist Then
        Dim ev As New EventLogPermission(EventLogPermissionAccess.Administer, ".")
        ev.PermitOnly()
        EventLog.CreateEventSource(cs, "TESTLOG")
    End If
    elog.Source = cs
    elog.EnableRaisingEvents = True
    EventLog.WriteEntry(cs, message, EventLogEntryType.[Error])

源已正确创建,但当我尝试写入时,访问被拒绝。 我去注册表设置对每个人的完全控制权限,但仍然有消息。 HKEY_LOCAL_MACHINE 系统 当前控制集 服务 事件日志 应用

如何在事件日志中写入消息?

谢谢

sharepoint event-log access-denied
2个回答
0
投票

我认为您需要确保运行网站的用户帐户具有对事件日志的完全访问权限。看看下面的链接是否有帮助。

KB2028427


0
投票

我发现打开我作为“管理员”运行脚本的程序,让我在事件查看器中创建日志。

还有:

If Not sourceExist Then
    Dim ev As New EventLogPermission(EventLogPermissionAccess.Administer, ".")
    ev.PermitOnly()
    EventLog.CreateEventSource(cs, "TESTLOG")
End If

这意味着您必须设置 ID 消息,或者将其放在消息顶部。

(无法找到源测试中事件 ID 51001 的描述。您的本地计算机上未安装引发此事件的组件,或者安装已损坏。您可以在本地计算机上安装或修复该组件。)

为了简单起见,请这样做:

If Not sourceExist Then
    EventLog.CreateEventSource(sourceName, logName)
End If

这将阻止上述消息出现 - 而只显示您发送到事件日志的消息。

© www.soinside.com 2019 - 2024. All rights reserved.