Системный файл SYSLOG.

Файл SYSLOG - это один из файлов базы данных.

Он является системным файлом, хотя в каждом конкретном проекте он не обязан присутствовать.

В следующей таблице приведено поведение системы для различных категорий пользователей. Строки в таблице расположены в порядке убывания приоритета категорий.

Пользователь Действия системы
Автоматически назначается право Scan на файл SYSLOG Автоматически назначается право View на файл SYSLOG Автоматически протоколирует действия пользователя Позволяет пользователю выполнять процедуру языка SysLog.Mark
Член группы PROGRAMMERS или AP_ADMIN + + + +
Член группы ASBLOGGING + - + +
Не имеет перечисленных выше прав - - - +

Файл SYSLOG может иметь любое число полей, следовать они могут в любом порядке, но нижеперечисленные поля обязаны присутствовать, причем имеются определенные требования к их типу

Имя поля Тип поля
User String любой размерности
Mnp любой числовой тип, желательно принимающий значения в диапазоне от 0 до 32
Object String любой размерности
Nest любой числовой тип, желательно принимающий значения в диапазоне от 0 до 249
Date DATE
BTime TIME
BSec любой числовой тип, желательно принимающий значения в диапазоне от 0 до 59
ETime TIME
ESec любой числовой тип, желательно принимающий значения в диапазоне от 0 до 59
Comment String любой размерности

Теоретически, в файле SYSLOG могут присутствовать любые другие поля, но смысла в них нет. Автоматически они заполнятся значениями по умолчанию, но изменить эти значения будет невозможно, т.к. никто не имеет прав по записи на файл SYSLOG. Перечисленные выше поля заполняются автоматически, причем если строка не помещается в строковое поле, невместившийся "хвост" отсекается, а если числовое значение выходит за диапазон поля числового типа, то в поле попадает пустое значение.

До версии 14.34.8 было требование, чтобы в dbs-файле структура файла SYSLOG должна быть описана следующим образом:

 PROCEDURE Create_SYSLOG();
 BEGIN
  CREATE_TABLE(SYSLOG, "", "", "");

  CREATE_FIELD(SYSLOG, User, STRING[8], "", "", "", "Имя пользователя (LoginName)", "");
  CREATE_FIELD(SYSLOG, Mnp, SCAL[32], "", "", "", "Тип манипуляции", "");
  CREATE_FIELD(SYSLOG, Object, STRING[8], "", "", "", "Объект манипуляции (Файл, программа и т.д.)", "");
  CREATE_FIELD(SYSLOG, Nest, SCAL[250], "", "", "", "Счетчик вложенности операций", "");
  CREATE_FIELD(SYSLOG, Date, DATE, "", "", "", "Дата манипуляции", "");
  CREATE_FIELD(SYSLOG, BTime, TIME, "", "", "", "Время начала манипуляции", "");
  CREATE_FIELD(SYSLOG, BSec, SCAL[99], "", "", "", "Секунды начала", "");
  CREATE_FIELD(SYSLOG, ETime, TIME, "", "", "", "Время окончания", "");
  CREATE_FIELD(SYSLOG, ESec, SCAL[99], "", "", "", "Секунды окончания", "");
  CREATE_FIELD(SYSLOG, Comment, STRING[64], "", "", "", "Комментарии", "");

  CREATE_INDEX(SYSLOG, SYSLOG, PLURAL, "", "", User, Date, BTime, BSec);
  CREATE_INDEX(SYSLOG, SYSLOG1, PLURAL, "", "", Mnp, Object, Date);
 END;

Ниже приводится таблица, демонстрирующая смысл значений полей файла SYSLOG при автоматическом их заполнении в различных ситуациях.

Причина Object Comment Mnp
Интерактивная вставка записи в файл В зоне с мастером: Имя мастер-файла

В зоне без мастера: NOMASTER

В зоне с мастером: <Имя ключа> { "|" <значение поля ключа> }

В зоне без мастера: <Рабочее имя окна> (<Заголовок окна>)

SysLog.Insert 0
Интерактивное редактирование записи
SysLog.Edit 1
Интерактивное удаление записи
SysLog.Delete 2
Интерактивное редактирование записи во ViewOnly-зоне
SysLog.WO_Prog 6
Редактирование записи в диалоге опции ShowMem(CurFileElm) - традиционно на кнопках CtrlShiftF4 Имя файла <Имя ключа> { "|" <значение поля ключа> }
Подавлено выполнение программы уровня поля или записи Имя программы  
Запуск программы без отладчика "NORMAL" |  "ABORT" "|" [<MODE>]
SysLog.RunProg 3
Запуск программы под отладчиком
SysLog.Debug 5
Запуск отчета Имя отчета "NORMAL" | "ABORT"
SysLog.Report 4
Вызов процедуры языка SysLog.Mark Первый параметр SysLog.Mark Второй параметр SysLog.Mark
Третий параметр SysLog.Mark 7-30
Переключение режима монопольного управления "Console" "ON" "|" <ShadowUser> или "OFF"
  31
Переключение режима отладочного времени "DebugTimeShift" Отладочное время в формате "D.N.y H:M:S" или "OFF"
  32