Какой самый быстрый способ ввести какое -то ведение журнала в живом веб -приложении?
-
13-09-2019 - |
Вопрос
У меня есть живое веб -приложение, которое не удается в одном конкретном сценарии, и локально оно работает нормально. У меня нет удаленной настройки отладки, и я хочу проверить значение некоторых переменных в коде. Как бы я был самым быстрым способом регистрировать/отправлять электронную почту/отладку кода для просмотра этих значений?
Просто чтобы быть ясным, нет никаких ошибок/исключений. Что -то отличается, и это приводит к тому, что приложение дает неожиданные результаты.
Заранее спасибо!
Решение
А самый быстрый Способ - просто внедрить некоторое ведение журнала в событии 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», и вы получите множество полезных ссылок), что легко настраивается и позволяет отправлять журналы по электронной почте (что удивительно удобно!).
Надеюсь, это поможет.