写入事件记录器异常c#

时间:2015-09-21 22:27:23

标签: c# logging event-viewer

我试图在Windows中写入事件查看器。但是当我执行WriteEntry()函数时,我一直遇到异常。它说:cannot open log for 'source' you may not have write access。据我所知,我是这里的管理员,我正好写入ULS日志,而不是事件查看器。

public MethodLogger(MethodBase methodBase)
    {
        if (methodBase == null) return;
        _methodName = string.Format(CultureInfo.InvariantCulture, "{0}.{1}", methodBase.DeclaringType, methodBase.Name);
        LoggingService.LogMessage(string.Format(CultureInfo.InvariantCulture, "Entering {0}", _methodName));
    } 

 public static void LogMessage(string message)
    {
        SPDiagnosticsCategory category = Current.Areas[_diagnosticName].Categories[LoggingService.Information];
        Current.WriteTrace(ServiceId, category, TraceSeverity.Verbose, message);
        //Log.Information(message);
    }

public void Information(string text)
    {
        if (!EventLog.SourceExists("Source"))
        {
            EventLog.CreateEventSource("Source", "Source");
        }


        EventLog.WriteEntry("Source", text, EventLogEntryType.Information);


    }

最后一个WriteEntry是抛出异常的地方。在事件查看器中存在一个名为" Source"所以if语句预先评估为true,这很好。

为什么我不能写这个事件查看器?

1 个答案:

答案 0 :(得分:0)

可能是因为您的应用程序没有适当的权限吗?

尝试此处列出的步骤(these instructions),看看它是否对您有帮助。