Журнал отладки .NET - PullRequest
       11

Журнал отладки .NET

1 голос
/ 02 июня 2009

У меня есть приложение ASP.NET, которое использует библиотеку .NET. Я хочу включить ведение журнала куда-нибудь, чтобы позже проверить сообщения об ошибках.

Я буду регистрировать приложение ASP.NET и библиотеку .NET в одном месте или в разных местах. Я не знаю, как это сделать.

Я предпочитаю использовать System.Diagnostics. из .NET Framework вместо сторонних фреймворков, но я не знаю, является ли это лучшим решением.

Я хочу регистрировать сообщения об ошибках, а иногда и пользовательские сообщения.

Спасибо!

Ответы [ 5 ]

3 голосов
/ 02 июня 2009

Существует множество инфраструктур ведения журналов для .NET. Если вы хотите иметь мощную и гибкую систему ведения журналов в своем приложении, вам следует использовать одну из сторонних платформ , я предпочитаю log4net. Есть также несколько способов сделать это, используя только классы .Net Framework.

Например, вы можете использовать эти подходы:

  1. Самым простым способом будет создание вашей личной реализации регистратора, например, вы можете просто использовать File.AppendAllText в том месте, куда вы хотите что-то записать. Если вы хотите использовать базу данных SQL в качестве хранилища для ваших записей журнала, вы можете использовать класс SqlCommand, заполненный соответствующим запросом вставки, или вы можете определить другой способ ведения журнала. Но этот способ не рекомендуется, потому что есть много шансов, что другие, которые будут поддерживать ваш код, будут знать об использовании хорошо известных фреймворков и практик, и нет никаких шансов, что они будут знать вашу реализацию, поэтому им, вероятно, придется читать больше количество кода.

  2. Вы можете использовать класс EventLog. Мы использовали его для регистрации критических ошибок (например, необработанных исключений), произошедших в наших сервисах и приложениях ASP.NET. Это позволит вам иметь безусловную регистрацию в системном хранилище. Это хранилище будет доступно из консоли управления Microsoft (mmc), и это хранилище будет настраиваемым.

  3. Вы также можете использовать что-то вроде Debug.WriteLine или Trace.WriteLine для ведения журнала. В этом случае у вас будет возможность настроить прослушиватели журнала путем редактирования файла web.config. Вы будете иметь возможность включить или отключить ведение журнала, изменить способы ведения журнала (журнал в файл, журнал событий или что-то еще).

1 голос
/ 02 июня 2009

Я использую ELMAH уже около года, и это был отличный инструмент. ELMAH фиксирует любое необработанное исключение в вашем приложении .NET и может войти в базу данных db, xml или отправить вам электронное письмо с информацией трассировки стека.

Эта dotnetslackers статья была отличным началом, чтобы заставить меня работать. Я использовал ELMAH в 6 проектах за последний год с отличными результатами. Конфигурация проста. Все это делается путем ссылки на .dll в вашем веб-проекте, а затем установки значений в файле web.config. Захваченная отладочная информация очень подробная. Вы получаете полную трассировку стека и перехват всех серверных переменных для запроса в данный момент.

0 голосов
/ 02 июня 2009

Я использовал nlog с большим успехом. Это старый, но надежный. Вы можете настроить разные пункты назначения и разные сообщения.

0 голосов
/ 02 июня 2009

ELMAH , по-видимому, является популярной платформой, используемой в ASP.NET в настоящее время

...