Логирование событий в приложении (trace)
В системной таблице as_trace хранятся данные по работе приложения.
Поле code определяет тип события:
- DBLREQ - фиксируем факт множественных одинаковых запросов со страницы в короткий промежуток времени (например, если форму поместить в каждую строку таблицы)
- EXCEPTION - исключение (ошибка) при работе программы
- HUGE - запрос с большим количеством выходных строк (подобные запросы могут создавать нагрузку на процессор)
- NOACCESS - отказ в доступе к ресурсу (компонент или страница).
- NOTFOUND - переход на несуществующую страницу
- PRINT - смотр состояния переменных в хранимых процедурах через execute as_print @str
- PV - page visit. Фиксация посещения страницы пользователем (в appsettings.config должно быть logUserAction=1)
- REG - факт регистрации на сайте (через as_trace_warn)
- SEARCH - осуществление поиска по сайту через элемент вверху каждой страницы
- SF - safe form. Сохранение некоторой формы на сайте (в appsettings.config должно быть logUserAction=1)
- SLOW - фиксация медленного Ajax запроса
- SYNC - фиксация работы периодических событий (управление в /syssp)
- TG - события (ошибки) телеграма
Вы можете создавать свои коды событий и записывать в хранимых процедурах через exec as_trace_warn
Запрос для получения статистики по элементам trace (он есть в Диагностике /diag):
select
upper(isnull(code, '')) code,
count(*) totalCount,
isnull((select count(*) from as_trace t3 where t3.code=t1.code and cast(created as date) > cast(dateadd(month, -1, getdate()) as date) ), 0) [month],
isnull((select count(*) from as_trace t3 where t3.code=t1.code and cast(created as date) > cast(dateadd(week, -1, getdate()) as date) ), 0) [week],
isnull((select count(*) from as_trace t3 where t3.code=t1.code and cast(created as date) = cast(dateadd(day, -1, getdate()) as date) ), 0) yesterday,
isnull((select count(*) from as_trace t2 where t2.code=t1.code and cast(created as date) = cast(getdate() as date) ), 0) today,
isnull((select count(*) from as_trace t2 where t2.code=t1.code and created > dateadd(hour, -1, getdate()) ), 0) lastHour,
isnull((select count(*) from as_trace t2 where t2.code=t1.code and created > dateadd(minute, -5, getdate()) ), 0) last5Min
from as_trace t1
group by code
order by code
Таблицу as_trace можно периодически чистить. В ней не нужно сохранять критичные бизнес-данные.
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация
- API, Интеграции
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты Перенос компонентов между БД HOWTO. Как быстро перенести решение (таблицы, формы, страницы) на другую базу? HOWTO. Где я могу редактировать процедуру поиска, процедуру общих элементов Layout, процедуры периодического запуска и др? Как изменить длительность показа сообщений HOWTO. Отслеживание изменений хранимых процедур и страниц (logChanges) Как организовать периодическую отправку на почту отчета по ошибкам Форма обратной связи по ошибкам, предложениям suggestion Как разграничивать права на уровне бизнес-логики хранимых процедур Безопасная обработка данных и проверка доступа в хранимых процедурах Как включить системный лог в Core версии платформы Как увеличить размер подгружаемых файлов Использование типовой разметки в виде сниппетов для решения различных задач Работа с редактором кода в личном кабинете разработчика Логирование изменений объектов на примере хранимых процедур Как логировать клики на определенных элементах в системе Обработка старых браузеров (сообщение об устаревшем браузере) Как отследить и ограничить большое количество однородных запросов на сайте Как изменить таймаут запросов к БД Безопасность. Как скрыть некоторые заголовки (http headers) в запросах Логирование событий в приложении (trace) Как улучшить производительность IIS (IIS Perfomance Boost) Windows Server, IIS, Как сделать, чтобы сайт работал от определенной учетной записи Отображение сообщения об offline (Нет сети) Рабочее место разработчика через терминал FAQ для системного администратора сервера Системный анализ работы сайта на Falcon Space. Профилактика, диагностика работы сайта Обновляемые метки времени в сообщениях на сайте Подсказка по интерфейсам хранимых процедур компонентов Защита от CSRF атак через дополнительный токен в формах Дополнительные параметры в @parameters (во многих хранимых процедурах) Массовая оптимизация картинок в менеджерах ресурсов Как логировать события в Falcon в другую базу (чтобы ограничить рост основной базы данных)
- HOWTO
- HOWTO Таблицы
- HOWTO Формы
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы
Задать вопрос, обсудить проект
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.