У объекта 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);
...
}
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)
WHERE MessageText = 'Старт работы системы' AND
NOT EXISTS(SELECT * FROM tbl_SystemLog sl1
WHERE sl1.MessageText = 'Завершение работы системы' AND sl.MessageCode = sl1.MessageCode)
17 июля 2012 15:56
Спасибо! За последние 3 года я в эту тему заходил чаще, чем в любую другую!
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать