Логирование событий в приложении (trace)

В системной таблице as_trace хранятся данные по работе приложения. 

Поле code определяет тип события:

Вы можете создавать свои коды событий и записывать в хранимых процедурах через 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 можно периодически чистить. В ней не нужно сохранять критичные бизнес-данные. 

Страница-источник на сайте falconspace.ru