【问题标题】:Event log code error not being able to find the Event Source?事件日志代码错误无法找到事件源?
【发布时间】:2008-11-14 19:51:05
【问题描述】:

我正在尝试使用事件日志来编写一些调试信息,但无法使其正常工作。它抱怨无法找到事件源。我必须在操作系统上安装一些东西吗?

【问题讨论】:

    标签: c# events c#-2.0


    【解决方案1】:

    这是我从我们的一个应用程序中修改的代码。这可能会帮助您开始创作。

    System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog();
    string eventLogName = "StackOverFlowEventName";
    string eventLogSource = "StackOverFlowWebsite";
    
    //This code HERE will create the Event for you
    if (!System.Diagnostics.EventLog.SourceExists(eventLogSource))
    {
        System.Diagnostics.EventLog.CreateEventSource(eventLogSource, eventLogName);
    }
    
    eventLog1.Source = eventLogSource;
    eventLog1.Log = eventLogName;
    eventLog1.WriteEntry("This is a test");
    

    【讨论】:

    • 请记住,运行创建事件源的代码行需要的权限比简单地写入创建事件源所需的权限略高。因此,如果这是在网站上,例如,您可能希望部署包创建事件源 4 u
    【解决方案2】:

    您目前在项目中使用什么代码?我目前正在使用这一行来写入事件日志。

    System.Diagnostics.EventLog.WriteEntry(assemblyName, "Error stuff", System.Diagnostics.EventLogEntryType.Error);
    

    但请注意,如果日志文件已满,这将引发异常

    【讨论】:

      【解决方案3】:

      您也可以直接进入注册表并添加使其工作所需的值,或者您可以在解决方案中添加一个项目,该项目将仅包含一个 InstallerClass,当您运行 exe 时,它​​将为您创建 EventLog 条目创建。

      MSDN Link
      InstallerClass Link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多