写入事件查看器C#时的源名称

时间:2012-03-07 12:34:35

标签: c# event-log event-viewer

在用C#语言写入事件查看器时如何更改源名称?

目前有这个

  

string cs =“Application”;

            if (!EventLog.SourceExists(cs))
            EventLog.CreateEventSource(cs, "ReceiveDaily");
            EventLog.WriteEntry(cs, message.Message, EventLogEntryType.Error);

如果我将CS更改为其他任何内容,我会在我的事件查看器中看到一个Security-Kerberos(0x7)弹出 当我放入“应用程序”时,它会在错误日志中写入错误。但后来的来源是“应用程序”,这不是一个非常好的描述,它来自哪里......

提前致谢。

2 个答案:

答案 0 :(得分:1)

您需要以管理员模式运行您的应用。

您可以通过右键单击您的应用并选择“以管理员身份运行”来启动资源管理器。

或者,您可以add a manifest到您的应用,以便在运行时自动请求管理员权限。

最终(从安全角度来看最差)选项是通过控制面板禁用UAC。

答案 1 :(得分:1)

正如@Phil所提到的,除非您在管理模式下运行,否则我认为您不能动态创建事件源。

但是,如果您知道应用程序所需的一组来源,则可以使用System.Diagnostics.EventLogInstallerInstallUtil.exe预安装这些来源。然后,您的应用程序可以使用这些来源。

This has a good example设置安装程序。