Какой самый быстрый способ ввести какое -то ведение журнала в живом веб -приложении?

StackOverflow https://stackoverflow.com/questions/1266406

Вопрос

У меня есть живое веб -приложение, которое не удается в одном конкретном сценарии, и локально оно работает нормально. У меня нет удаленной настройки отладки, и я хочу проверить значение некоторых переменных в коде. Как бы я был самым быстрым способом регистрировать/отправлять электронную почту/отладку кода для просмотра этих значений?

Просто чтобы быть ясным, нет никаких ошибок/исключений. Что -то отличается, и это приводит к тому, что приложение дает неожиданные результаты.

Заранее спасибо!

Это было полезно?

Решение

А самый быстрый Способ - просто внедрить некоторое ведение журнала в событии Application_error в вашем файле Global.asax. Если у вас нет файла Global.asax, просто создайте его с новым мастером VS -новым файлом, и он обработает это событие для вас.

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

РЕДАКТИРОВАТЬ: В ответ на ваш комментарий я рекомендую вам вывести ваши трассировки в файл, который вы можете проанализировать. Я не пробовал это сам, но я видел это рекомендовано. В ваш web.config добавьте что -то под названием Траселистенера вот так:

<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="TestTracer"
type="System.Diagnostics.TextWriterTraceListener, System,
Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
initializeData="<app root directory>\Asptesttrace.log" />
</listeners>
</trace>
</system.diagnostics>

Вам нужно будет играть с ним на местном уровне, я уверен. Например, убедитесь, что трассировка не видно для клиента (это может включать использование класса трассировки для включения или выключения трассировки, а также изменение потоков, в которые он пишет).

Другие советы

В дополнение к комментарию Джошджордана, вы можете использовать Опубликовать Sharp Следить всякий раз, когда метод вводится и не выходит, и посмотрите, какие значения входят в него ...

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

Может быть, самый быстрый способ увидеть вашу проблему.

Я бы попробовал с трассировкой asp.net (http://www.4guysfromrolla.com/webtech/081501-1.shtml) для быстрой регистрации. Вам придется добавить вызовы trace.write () в свой код, и вы можете увидеть журнал в самой живой странице (просто просмотром).

Для более богатого журнала вы можете использовать log4net (просто Google «с использованием log4net», и вы получите множество полезных ссылок), что легко настраивается и позволяет отправлять журналы по электронной почте (что удивительно удобно!).

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top