Ответ, который я ненавижу больше всего, на самом деле применим здесь: «это зависит». В частности, это зависит от нескольких вещей:
- Для кого предназначена информация? Предназначен ли он для бизнес-пользователей (т. Е. Существуют ли реальные бизнес-требования), ориентирована ли информация на управление приложениями, требуется ли вам понимание часто используемых функций и т. Д.
- Какова гранулярность зарегистрированной информации? Например: вам нужно только знать, использовалась ли функция поиска, вы хотите узнать поисковый запрос или вам также нужна информация о фактических результатах поиска?
- Насколько точной и полной должна быть информация? Требования к контрольному журналу, как правило, очень строгие, а технические - зачастую меньше.
- Хотите иметь возможность откатить действия / действия? И если да, то кто это будет делать (бизнес-пользователь, вспомогательный персонал)
- Как выглядит ваше развертывание? Если у вас один сервер, регистрация в текстовых файлах или XML более целесообразна, чем в среде с балансировкой ферм / нагрузки.
Для ведения журналов приложений обращайтесь к известным поставщикам, таким как log4net или блок приложений журналирования Enterprise Library; оба позволяют настроить, куда вы хотите войти (текстовый файл, база данных и т. д.).
Для регистрации действий базы данных я предлагаю решение в базе данных. В нескольких версиях SQL Server 2008 имеется встроенная поддержка аудита, в течение многих лет в Oracle она была IIANM.