У меня есть веб-сайт, работающий на (дешевом) размещенном решении компании. Здесь есть база данных и веб-сервер. Я хотел бы регистрировать активность, которая происходит в моем приложении, вниз через слои (возможно, не столько презентация). Итак, был вызван служебный вызов .... бизнес-функция запустилась в BL ... был выполнен вызов базы данных ... исключение было поймано.Регистрация в размещенной среде
Все слои разделены. Итак, я думаю, что вход в базу данных не является разумным, потому что мне нужно будет получить доступ к базе данных из всех слоев. Например, пользователь выбирает продукт. В методе сервиса (GetProductById) я должен был зарегистрировать, что он был выполнен. Затем этот метод вызывает GetProductById в BL. Я тоже хочу войти в систему ... и, наконец, мой GetProductById в моем аксессуаре данных. Мне нужно подключение к базе данных во всех слоях.
Я думал о добавлении небольшого класса, который предоставляет один метод (журнал). И ссылайтесь на эту DLL из каждого слоя. И эта DLL принимает сообщение и имеет собственное соединение с БД, с одним методом - строкой записи. Но это будет слишком накладным? Каждое событие «Журнал» - это открытие базы данных, запись, закрытие. Это немного тяжело? БД мощна ... Но один вызов может привести к от 3 до 30 событий «Журнал» (и это поможет мне найти проблемы с кодом).
Отдельные призывы класса журнала, так как я могу изменить его на регистратор файлов, если захочу. Но предпочитайте возможность запроса таблицы, например, «ErrorLevel». или что-то.
Моя единственная проблема - накладные расходы. Не о чем беспокоиться?
Что вы можете написать самостоятельно? Исследуйте, если существующие имеют все партии записей журнала на запись уже отсортированы ... –