Для проверки работы робота и корректировки действий необходим запуск схемы робота в ROBIN Studio в режиме отладки. Панель управления режимом отладки располагается в верхней части рабочего пространства:
Пути к файлам, где можно изменить правила логирования компонентов платформы:
- ROBIN Agent (Агент - AppData\Local\Programs\Robin Platform\2.0.0\Agent\Robin.Agent.cfg (зашифрован)
- ROBIN Studio (Студия) - AppData\Local\Programs\Robin Platform\2.0.0\Studio\Studio.exe.config
- ROBIN PlayerПлеер - AppData\Local\Programs\Robin Platform\2.0.0\RobotPlayer\RobotPlayer.exe.config
- ROBIN Executor (net - AppData\Local\Programs\Robin Platform\2.0.0\Executor\Net\NetExecutor.exe.config
- ROBIN Executor (java) - AppData\Local\Programs\Robin Platform\2.0.0\Executor\Java\logback.xml
- ROBIN Executor (phyton) - на данный момент отсутствует.
Свойства и варианты значений параметров файлов логирования, которые необходимо менять в файлах приведены в таблице:
| Наименование свойства | Описание свойства | Значения по умолчанию |
1 | Получает или задает значение чекбокса, указывающего должен ли файл быть добавлен или перезаписан Если значение False, то файл будет перезаписан, если True то лог будет добавлен в файл | По умолчанию True | |
2 | Получает или задает направление прокручивающегося отсчета файлов, при этом указывает, является ли текущий файл файлом с наименьшим или наибольшим номером При CountDirection >= 0, log.1 — это первая резервная копия, log.5 — пятая резервная копия и т.д. Для бесконечных резервных копий рекомендуется использовать CountDirection >= 0, для того чтобы уменьшить время на смену резервных копий По умолчанию новые файлы имеют меньшие номера (CountDirection < 0), т.е. log.1 — самая последняя резервная копия, log.5 — пятая резервная копия и т.д. Максимальное значение применяется к каждой группе файлов, основанной на применении временного интервала, а не общего количества резервных файлов | По умолчанию новые файлы имеют меньшие номера (CountDirection < 0), т.е. log.1 — самая последняя резервная копия, log.5 — пятая резервная копия и т. д. | |
3 | Получает или задает шаблон даты, который будет использоваться для создания имен файлов при переносе на дату | Реализация значения по умолчанию заключается в использовании LocalDateTime, который внутренне вызывает DateTime.Now. DateTime | |
4 | Получает или задает стратегию определения текущей даты и времени | ||
5 | param name="File" - получает или задает путь к файлу, указывает на расположение и название файла, куда будет записан лог, в данном случае это "AllLog.log". Если лог писать в отдельную папку, то "log\AllLog.log" | По умолчанию - "AllLog.log" | |
6 | Модель блокировки файла лога, получает или задает модель LockingModel, используемую для обработки блокировки файла. Например, "log4net.Appender.FileAppender+MinimalLock" Это означает, что лог будет открываться для каждой операции записи с минимальным временем удержанием файла | ||
7 | Получает или задает максимальный размер, разрешенный выходному файлу перед переносом на файлы резервных копий | ||
8 | Получает или задает максимальный размер файла с логом, разрешенный выходному файлу перед переносом на файлы резервных копий, который учитывается/не учитывается в зависимости от rollingStyle Если установлено значение "Composite" - учитывается, если установлено значение "Once"- не учитывается | По умолчанию установлено значение "Composite". Максимальный размер лога
При превышении этих размеров файлы обрезаются Для экзекьюторов Java и Python поставлена задача | |
9 | Получает или задает максимальное количество файлов резервных копий, которые сохраняются до удаления самых старых. Самый старый стирается. Если установлено значение 0, файлов резервных копий не будет, а файл журнала будет усечен при достижении значения MaxFileSize Если указано отрицательное число, удаление производиться не будет. Необходимо отметить, что это может привести к очень низкой производительности, поскольку перенос большого количества файлов возможен, если не используется параметр CountDirection. Максимальное значение применяется к каждой группе файлов, основанной на применении временного интервала, а не общего количества резервных файлов | Для движков, студий, плееров, агентов установлены следующие ограничения:
| |
10 | Получает или задает значение, указывающее, следует ли сохранять расширение имени файла при нарастании | ||
11 | Получает или задает стиль прокрутки, т.е. по какому параметру должен перезаписываться файл лога - по размеру или по дате У класса RollingFileAppender, который пишет лог в файл, есть такое свойство RollingStyle, которое определяет, когда логгер будет начинать новый файл лога Допустимы следующие значения: Size — новый файл создается, как только лог достигает определенного размера (этот размер задается в свойстве maximumFileSize) Date — новый файл создается каждый день, и к названию файла, определенному в свойстве file, добавляется дата в формате, заданном в свойстве datePattern Composite — комбинирует свойства Date и Size, т.е. учитываются и размер файла, и дата. Кроме того, данное значение является дефолтным для свойства RollingStyle Once — лог создается один раз при запуске программы | В нашем случае по размеру "Size" По умолчанию установлено значение "Composite" | |
12 | RollingFileAppender | Этот свойство позволяет ротировать файл по достижении определенного размера. "Ротировать" означает, что текущему файлу приписывается расширение ".0" и открывается следующий. По достижении им максимального размера – первому вместо расширения ".0" выставляется ".1", текущему – ".0", открывается следующий. И так далее. Максимальный размер файла и максимальный индекс, устанавливаемый сохраняемым предыдущим файлам, задаются свойствами maximumFileSize и maxBackupIndex соответственно. Если индекс превышен – файл не переименовывается, а удаляется. Таким образом мы всегда имеем не больше определенного количества файлов, каждый из которых не больше определенного объема. Свойство позволяет указать максимальный размер файла лога с суффиксами «КБ», «МБ» или «ГБ» для того, чтобы размер интерпретировался как выраженный соответственно в килобайтах, мегабайтах или гигабайтах. Например, значение «10 КБ» будет интерпретироваться как 10240 байт. Максимальный размер файла по умолчанию составляет 10 МБ | |
13 | Получает или задает объект SecurityContext, используемый для записи в файл | ||
14 | Получает или задает значение, указывающее, всегда ли следует входить в систему тому же файлу Если используется роллинг на основе даты/времени, то при установке для параметра StaticLogFileName значение True сократит количество переименований файлов до нескольких или до нуля | ||
15 | Log4J поддерживает следующие уровни вывода, в порядке возрастания: TRACE DEBUG INFO WARN ERROR FATAL OFF Установка логгеру определенного уровня означает следующее – сообщения, выводимые с этим или более высоким уровнем, попадут в лог. Сообщения, выводимые с уровнем ниже установленного, в лог не попадут. Преимуществом является то, что в программный код вывод информации может производиться на различных уровнях (об ошибках – на уровне ERROR, о нормальном ходе выполнения – на уровне INFO, отладочную – на уровне DEBUG), а потом гибко регулировать, что именно будет выводиться Получает или задает пороговое значение Level этого приложения Все события журнала с более низким уровнем, чем пороговый, игнорируются приложением В конфигурационных файлах этот параметр указывается путем установки параметра значение параметра Порог к уровню строки, например "DEBUG", "INFO" и так далее По умолчанию порог для файла – DEBUG. Это означает, что в файл выводятся сообщения с уровнями ERROR, WARN, INFO, DEBUG, DEBUG | При установке, порог для файла – DEBUG. Это означает, что в файл выводятся сообщения с уровнями ERROR, INFO, DEBUG По умолчанию для файлов устанавливается уровень логирования сообщения о пришедшем сообщении с DEBUG на INFO По умолчанию для экзекьюторов в файл выводятся сообщения с уровнями ERROR, INFO, DEBUG |
Информацию о формировании и хранении логов можно посмотреть по ссылке - Формирование и хранение логов.