Мы используем log4net на наших веб-приложениях.
Это - способность настроить вход во времени выполнения путем изменения конфигурационного XML-файла, очень удобно, когда приложение неправильно функционирует во времени выполнения, и необходимо видеть больше информации.
Это также позволяет Вам быть нацеленными на определенные классы или атрибуты для входа под. Это очень удобно, когда у Вас есть идея, где ошибка происходит. Классическим примером является NHibernate, где Вы хотите видеть просто SQL, идущий в базу данных.
Редактирование:
Мы пишем все события в базу данных и систему Трассировки. Журнал событий мы используем для ошибок или исключений. Мы регистрируем большинство событий к базе данных так, чтобы мы могли создать пользовательские отчеты и позволить пользователям просмотреть журнал, если они хотят исправиться из приложения.
Мне это кажется хорошим подходом, он отлично работает в CSS в современных браузерах - браузер будет смотреть на адрес изображения (включая ? V = 1234
), убедитесь, что он не кэширован, и отправьте новый запрос.
Это обсуждается в правиле 3 высокопроизводительных веб-сайтов : «Добавить заголовок Expires или Cache-Control». Один из рекомендуемых подходов - версия файлов, а не сайта.
Из сопутствующего блога :
Имейте в виду, что если вы используете заголовок Expires в далеком будущем, вам необходимо изменить заголовок компонента имя файла при изменении компонента. В Yahoo! мы часто делаем этот шаг частью процесса сборки: номер версии встроен в имя файла компонента, например, yahoo_2.0.6.js.