Я хочу добавить трассировку журнала событий в мое приложение winforms, но в этом не понимаю.Использовать EventLogTraceListener в течение всего срока службы приложения в winforms?
Что я сделал это за шаги: В моем app.config:
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="myListener" type="System.Diagnostics.EventLogTraceListener" initializeData="MyApplication"/>
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
Базовый класс регистратор так:
с использованием системы; с использованием System.Diagnostics;
имен LogEventSample { общественный статический класс Logger { государственной статической силы Error (строка сообщения, модуль строка) { WriteEntry (сообщение "ошибка", модуль); }
public static void Error(Exception ex, string module) { WriteEntry(ex.Message, "error", module); } public static void Warning(string message, string module) { WriteEntry(message, "warning", module); } public static void Info(string message, string module) { WriteEntry(message, "info", module); } private static void WriteEntry(string message, string type, string module) { Trace.WriteLine(string.Format("{0},{1},{2},{3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), type, module, message)); } }
}
А потом, когда мне нужна строка:
Logger.Info("working...", "MyApp");
Мои сомнения приходит со временем жизни приложения. Это повлияет на производительность приложения? Должен ли я сделать это по-другому?
Кроме того, как я могу хранить дополнительную информацию, когда я это делаю? я не говорю о сохранении некоторой строки исключения, но для сохранения более подробных данных, которые будут отображаться в средстве просмотра событий.
Я хочу регистрировать события в профиле выпуска в своем последнем клиентском приложении, чтобы клиент отслеживал некоторые действия в приложении. «Трейс» не подходит для этого? Yo сказать, что мне нужно будет использовать Log4Net? –
Если вы хотите включить вывод 'Trace', просто проверьте * Define TRACE-Constant * вашего проекта после того, как вы изменили свой профиль сборки на * Release *. Решение для определенной структуры регистрации зависит от многих факторов и не является частью вашего вопроса. Для получения дополнительной информации об этом проверьте [этот вопрос] (http://stackoverflow.com/questions/576185/logging-best-practices) – Carsten
Думаю, я поеду на этот вариант. Потому что я не хочу просто хранить ошибки, но я хочу регистрировать некоторые действия, которые мой клиент должен регистрировать.Кроме того, можно записывать больше информации, кроме простой (или сложной) строки? –