+7 495 008 8452 пн.-пт. 10:00 – 17:00
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Добавляем свой элемент в журнал событий

Иногда бывает нужным в журнал событий добавить какое-то свое событие. В статье описано как это сделать корректно.

Собственно добавить событие довольно просто:

<?
CEventLog::Add(array(
         "SEVERITY" => "SECURITY",
         "AUDIT_TYPE_ID" => "MY_OWN_TYPE",
         "MODULE_ID" => "main",
         "ITEM_ID" => 123,
         "DESCRIPTION" => "Какое-то описание",
      ));
?>
 


SEVERITY - пока может принимать единственное значение, SECURITY, для иного система переиначит на UNKNOWN
AUDIT_TYPE_ID - ваш собственный ID типа
MODULE_ID - модуль, с которого происходит запись в лог, скорее для информации
ITEM_ID - ID объекта, в связи с которым происходит добавление (пользователь, элемент ИБ, ID сообщения, ...)
DESCRIPTION - собственно описание записи лога, или техническая информация

Выполнение кода даст нам вот эту картинку (кликабельно)



Пару слов о ITEM_ID, это и есть колонка Объект. Как вы можете видеть по другим записям в журнале, они преобразовываются - кто-то в имя пользователя, кто-то в ссылку на элемент ИБ. Для собственного типа такое сделать нельзя, так как обработка сей колонки зашита в ядре.

А вот колонку Событие мы исправить можем. Берем и добавляем данный обработчик:
AddEventHandler('main', 'OnEventLogGetAuditTypes', 'ASD_OnEventLogGetAuditTypes');
function ASD_OnEventLogGetAuditTypes()
{
   return array('MY_OWN_TYPE' => '[MY_OWN_TYPE] Мой собственный тип');
}
 

Получаем такую картинку (кликабельно):



Как минимум, мы можем теперь еще и фильтровать по нашему типу.

Все.

Назад в раздел

Подписаться на новые материалы раздела:












CAPTCHA