Я пытаюсь настроить базовое ведение журнала для журнала событий Windows в .net через _ 1_, но я не вижу, чтобы какие-либо события действительно записывались в журнал. Рассмотрим следующий код:
// Elsewhere in the class
private static readonly string EventLogName = "LogName";
private static readonly string EventLogSource = "AppName";
// In the only function that does something
if (!EventLog.Exists(EventLogName))
{
EventLog.CreateEventSource(EventLogSource, EventLogName);
return;
}
else
{
Trace.TraceInformation("Attempting log");
// This doesn't write anything
EventLog.WriteEntry(EventLogSource,
"StaticWriteEntry",
EventLogEntryType.Error);
// Neither does this
using (var log = new EventLog())
{
log.Log = EventLogName;
log.Source = EventLogSource;
log.WriteEntry("WriteEntry?", EventLogEntryType.Error);
}
}
return;
В первый раз я создаю журнал и выхожу из приложения в соответствии с образцом MSDN. Конечно, это создание журнала в конечном итоге войдет в настройку. Последующие запуски пытаются записать сообщение в созданный журнал событий.
Никаких исключений не выбрасывается. Кажется, что журнал успешно создан (я могу открыть его в средстве просмотра событий Windows). В журнал безопасности не регистрируется ничего важного.
Никакие сообщения не регистрируются ни через WriteEntry()
. Они также не помещаются в журнал приложений из-за несоответствия имени. В этом конкретном случае я работаю на Server2008 под учетной записью администратора с отключенным UAC. (Это небольшая часть более крупного устаревшего продукта, который требует неблагоприятной среды.) Что я делаю не так?
(Я делаю это, потому что хочу использовать EventLogTraceListener
< / a> в моем app.config, и он ничего не писал, так что это часть устранения этой проблемы.)