Регистрация и трассировка веб-API ASP.NET

Как только у вас есть настройка ведения журнала и трассировки с использованием log4net для ASP.NET Web API, каковы конкретные аспекты, которые необходимо регистрировать и/или отслеживать?

Я задаю это конкретно с точки зрения веб-API. Есть ли серия MUST Log this или ДОЛЖНА проследить этот. Например, INFO отслеживает запрос контроллера, любые проверки NULL и т.д.

Существует ли список ссылок, который может быть проверен для обеспечения оптимального ведения журналов и трассировки в ASP.NET Web API?

Ответ 1

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

Хотя я думаю, что нет ни одного "правильного" ответа на этот вопрос, я бы всегда старался log

Временные метки, имена классов/функций и имя потока (если выполняется многопоточное приложение yr) в каждой строке журнала

Строка быстрого журнала @каждой точки входа вместе с полным содержимым   переданный по запросу, предпочтительно в формате, который сделает это   вам проще переиздать тот же запрос от скрипача или аналогичного   инструмента (это можно сделать с помощью настраиваемого фильтра действий - посмотреть, как   автор использует их для мониторинга производительности приложения web api здесь)

Если вы выполняете какие-либо запросы к базе данных как часть своего действия, запишите   полная sql-строка запроса, если это возможно (еще раз, чтобы упростить   повторять во время отладки), а также, по крайней мере, число строк   вернулся

Если вы выполняете внешние вызовы службы, запишите как полный   строки запроса и ответа

Используйте блоки try/catch для регистрации любых исключений (вы также можете использовать   что-то вроде библиотеки ELMAH, чтобы сделать это автоматически, а   чем обработка в коде - ссылка здесь и здесь

Все, что разрешено во время выполнения - считайте значения из файлов конфигурации, запросов к базе данных, вычисленных значений, также должно быть зарегистрировано

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

Ответ 3

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