Запись информации в файл на диске с помощью MS Enterprise Library

Я пытаюсь создать класс, который записывает информацию в файл txt или xml на диске с помощью MS Enterprise Library (5.0). Я следовал этому руководству, но до сих пор тихий сбой (нет событий в средстве просмотра журнала). Вот мой класс:

public static void logEntry(String message, String type)
{
    LogEntry logEntry = new LogEntry();
    logEntry.Categories.Add(type);
    logEntry.Message = message;
    Logger.Write(logEntry);
}

Я вызывал это следующим образом в блоке catch для регистрации ошибок или в других местах, когда мне нужно регистрировать модификацию базы данных для обычного типа журнала.

Util.logEntry("Error Message", "Error");
Util.logEntry("Normal Message", "Normal");

Я знаю, что он вызывается, потому что я даже добавил оператор в качестве первой строки в моей программе, чтобы проверить его. Есть ли лучший дизайн для использования MS Enterprise Library, если мне придется анализировать файл журнала на основе типа (ошибка, предупреждение, нормальный)?


person Ben    schedule 21.09.2011    source источник
comment
Как вы настраиваете блок Logging? предоставьте подробную информацию о вашем файле конфигурации или фрагмент вашей программной конфигурации.   -  person Grigori Melnik    schedule 22.09.2011
comment
Мой файл app.config был создан методом, показанным в ссылке на руководство (см. выше). Вам нужно, чтобы я опубликовал свой фактический файл app.config?   -  person Ben    schedule 22.09.2011


Ответы (1)


Я подозреваю, что ваш источник событий не зарегистрирован. Обычно платформа .NET автоматически создает источники событий при первом использовании, но для создания источников событий требуются права администратора.

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

person Grigori Melnik    schedule 24.09.2011