在用C#语言写入事件查看器时如何更改源名称?
目前有这个
string cs =“Application”;
if (!EventLog.SourceExists(cs)) EventLog.CreateEventSource(cs, "ReceiveDaily"); EventLog.WriteEntry(cs, message.Message, EventLogEntryType.Error);
如果我将CS更改为其他任何内容,我会在我的事件查看器中看到一个Security-Kerberos(0x7)弹出 当我放入“应用程序”时,它会在错误日志中写入错误。但后来的来源是“应用程序”,这不是一个非常好的描述,它来自哪里......
提前致谢。
答案 0 :(得分:1)
您需要以管理员模式运行您的应用。
您可以通过右键单击您的应用并选择“以管理员身份运行”来启动资源管理器。
或者,您可以add a manifest到您的应用,以便在运行时自动请求管理员权限。
最终(从安全角度来看最差)选项是通过控制面板禁用UAC。
答案 1 :(得分:1)
正如@Phil所提到的,除非您在管理模式下运行,否则我认为您不能动态创建事件源。
但是,如果您知道应用程序所需的一组来源,则可以使用System.Diagnostics.EventLogInstaller
和InstallUtil.exe
预安装这些来源。然后,您的应用程序可以使用这些来源。
This has a good example设置安装程序。