Мы разрабатываем приложение ASP.NET и настроили сервер IIS в сети нашей компании для тестирования развертывания. Сервером IIS управляет наша группа ИТ-обслуживания, и у нас есть только необходимые разрешения для публикации приложения ASP.NET.
Уже использовав log4net в других проектах .NET, я хотел использовать его и здесь, чтобы получить отладочную информацию, если на этом сервере что-то идет не так. Поэтому я попросил команду ИТ-службы создать на сервере каталог, который:
Это привело к небольшому спору между разработчиками (нами) и командой ИТ-службы, когда они утверждали, что «это не правильный или профессиональный способ ведения журнала», и вместо этого мы должны регистрироваться в журнале IIS. .
Я только нашел один вопрос о StackOverflow это вдохновило нас на реализацию Appender, который вызывает Response.AppendToLog
и зарегистрированные сообщения появляются в журнале IIS, но все пробелы заменяются знаком «+», что делает такие вещи, как трассировки стека, в основном нечитаемыми.
Когда приложение будет в конечном итоге развернуто в сети заказчика, нам, безусловно, потребуется устранять неполадки и отлаживать некоторые ошибки, которые могут произойти, и без журналов отладки, что будет очень сложно.
Итак, мой вопрос:
Правильна ли наша команда ИТ-обслуживания, а то, что мы делаем, «непрофессионально»? И если да, то какой способ регистрации приложений, работающих на сервере IIS, является более профессиональным.
Нет, они не верны, это классический случай, когда кто-то утверждает факт, который просто не соответствует действительности, и остается неподвижным, поскольку он является владельцем ресурса. Вы можете подтвердить это, указав на .NET Core, последнюю и лучшую итерацию фреймворка, которая поставляется в комплекте с фабрикой логгеров, предназначенной для вывода куда угодно - обычно в файл.
Существует множество доступных инструментов мониторинга, которые регистрируют файлы, веб-приложения, базы данных и т. Д. Смешивание журналов с журналами IIS или журналами сервера Windows является непрофессионально, вы берете разделение проблем и выкидываете их в окно.
Профессиональный путь? Независимо от того, что разработчик считает наиболее подходящим с точки зрения занимаемого пространства и ясности ошибки - чем быстрее вы сможете решить эту проблему с помощью имеющейся информации, тем счастливее будет ваш клиент. Если вы потратите на отладку на полчаса больше, потому что код, по сути, был написан на мозги, ваш клиент будет недоволен.
Если ваш ИТ-отдел хочет разобраться в этом, скажите им, что хорошо, давайте сделаем лучшие практики. Попросите полный набор VSTS, специалиста по девопсу, который настроит ваши конвейеры развертывания, получит полный набор серверов приложений и серверов БД для dev, uat, prod и т. Д. И т. Д.
Вверху и внизу это то, что вы разработчик, вы являетесь авторитетом в этой конкретной теме, это ваше приложение, ваши ошибки, ваши журналы.