我在 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 系统 当前控制集 服务 事件日志 应用
如何在事件日志中写入消息?
谢谢
我认为您需要确保运行网站的用户帐户具有对事件日志的完全访问权限。看看下面的链接是否有帮助。
我发现打开我作为“管理员”运行脚本的程序,让我在事件查看器中创建日志。
还有:
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
这将阻止上述消息出现 - 而只显示您发送到事件日志的消息。