Site Tools


Hotfix release available: 2026-07-14b "Mort". upgrade now! [57.2] (what's this?)
Hotfix release available: 2026-07-14a "Mort". upgrade now! [57.1] (what's this?)
New release available: 2026-07-14 "Mort". upgrade now! [57] (what's this?)
devpark:dev:logging

Логирование и обработка ошибок на стороне сервера

Реализуется через класс AppLogger. Обращение к методам класса идет через сингелтон AppLogger.Instance.

Методы:

  • Log – создание записи лога с ручным указание всех параметров;
  • LogMessage – создание записи лога с сообщением;
  • LogException – создание записи лога с исключением;
  • LogOperationStart – начать логирование операции;
  • LogOperationEnd – закончить логирование операции и записать данные в журнал.

Методы LogException, LogOperationStart и LogOperationEnd нет необходимости использовать напря-мую. Если необходимо вести журнал исполнения определенного метода, то достаточно на него по-весить атрибут [OperationLog]. Атрибут так же можно повесить на весь класс. Если необходимо бо¬лее массовое покрытие кода, то можно в AssemblyInfo.cs указать, что логировать. Например: _FCKG_BLANK_TD_

[assembly: OperationLog(AttributeTargetTypes = "DevPark.WinterQueen.Web.*", AttributeTargetTypeAttributes = MulticastAttributes.Public, AttributeTargetMemberAttributes = MulticastAttributes.Public)]

для логирования всех публичных методов всех публичных классов в пространстве имен DevPark.WinterQueen.Web.

Регистрация ошибок исполнения приложения XAF реализована через обработчик события ErrorHandling.CustomSendErrorNotification.

Записи логов хранятся в экземплярах класса AppLogEntry. В XAF-интерфейсе просмотр лога доступен через задачи Администратора в меню навигации.

Что записывать в логи, указывается в свойстве AppLogger.Instance.LoggedTypes либо напрямую, либо при вызове функции AppLogger.Instance.Init(). По умолчанию значение свойство установлено так, чтобы вести запись всех событий:

AppLogger.Instance.LoggedTypes = AppLogEntryType.Exception | AppLogEntryType.Message | AppLogEntryType.Operation

Логирование и обработка ошибок на стороне клиента

На стороне клиента добавлены глобальные обработчики событий window.onerror, Ext.Ajax.requestexception, jQuery.ajaxError. Логирование реализовано в классе appWQ.sys.Logger (псевдоним Log):

  • Log.operation – логирование исключение и времени исполнения указанного кода; например:
Log.operation(function() {
   // какой-то код программы
});
  • Log.trace, Log.debug, Log.warn, Log.error, Log.fatal, Log.fatalException – добавляет в лог сообщение заданного уровня.

В Default.aspx определены две переменные:

  • SERVER_LOGGING_LEVEL – уровень сообщений лога, с которого начинается отправка сообщений на сервера;
  • CONSOLE_LOGGING_LEVEL – уровень сообщений лога, с которого сообщения выводятся в консоль разработчика.

Также на клиенте ведется локальный журнал истории вызовов. В текстовом варианте его можно получить через Log.getFullJournal(), в виде дерева вызовов – Log.showJournal().

devpark/dev/logging.txt · Last modified: by 127.0.0.1