Исключение C#_EventLog

Я пытаюсь написать простой журнал событий, но я сталкиваюсь с «System.Security.SecurityException: источник не найден ...», и я много искал, но не смог найти эффективного решения, я действительно очень ценю, если кто-то помогите мне с этим ???????? Я знаю, что нужно создать источник и зарегистрировать ключ, но что такое ключ и как мне это сделать?

String source =“DemoTestApplication”;
String log = “DemoEventLog”;
EventLog demolog=new EventLog(log);
EventLog demolog=new EventLog(log);
demolog.Source=source;
demolog.writeEntry(“This is the first message to the log”,EventLogEntryType.Information);

person S.Katuzian    schedule 09.08.2018    source источник


Ответы (1)


Попробуй это:

public static void LogEvent(string logBuffer, EventLogEntryType eventLogEntryType)
{
    const string source = "DemoTestApplication";

    // The user may not have permissions to access any event logs, therefore catch any SecurityExceptions.
    try
    {
        if (!EventLog.SourceExists(source))
        {
            // This requires administrator privileges.
            EventLog.CreateEventSource(source, "Application");
        }
        using (EventLog eventLog = new EventLog())
        {
            eventLog.Source = source;
            eventLog.WriteEntry(logBuffer, eventLogEntryType);
        }
    }
    catch (System.Security.SecurityException ex)
    {
        // Source was not found, but some or all of the event logs could not be searched.
        // May occur e.g., when trying to search Security event log.
        // EventLog.CreateEventSource requires permission to read all event logs to make sure 
        // that the new source name is unique.
        Debug.WriteLine(logBuffer);
        Debug.WriteLine(ex.ToString());
    }
}

Как правило, лучше создавать источник журнала событий при работе с правами администратора/повышенными правами, например, во время установки вашего программного обеспечения.

person Polyfun    schedule 09.08.2018