Публикация

Журнал системных сообщений

У объекта Log существует метод записи в журнал системных сообщений:

            [id(28)] void WriteToSystemLog(
                            [in] LogMessageTypeEnum MessageType,
                            [in] BSTR MessageCode,
                            [in] BSTR MessageText,
                            [in] BSTR MessageData,
                            [in] boolean IsNewLevel);

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

function wnd_MainOnPrepare(Window) {
  Main.SessionID = Connector.GenGUID();
  Log.WriteToSystemLog(lmtInformation, Main.SessionID, 'Старт работы системы', EmptyStr, false);
  ...
}

function wnd_MainOnClose(Window) {
  Log.WriteToSystemLog(lmtInformation, Main.SessionID, 'Завершение работы системы', EmptyStr, false);
  ...
}

Сессии, которые были запущенны, но не были завершены:

SELECT UserName, ComputerName, CreatedOn StartDate FROM tbl_SystemLog sl
WHERE MessageText = 'Старт работы системы' AND
NOT EXISTS(SELECT * FROM tbl_SystemLog sl1
WHERE sl1.MessageText = 'Завершение работы системы' AND sl.MessageCode = sl1.MessageCode)

Нравится

Поделиться

1 комментарий

Спасибо! За последние 3 года я в эту тему заходил чаще, чем в любую другую!

Показать все комментарии