В таблице ниже представлено описание лог-файлов ROBIN Studio, ROBIN Player, ROBIN Agent, ROBIN Executor, исходников (схем) роботов, исполнения готовых программных роботов.

КомпонентПример логаФормат записиМесто формирования и хранения логов (куда передаются)
ROBIN Studio Логи работы самого приложения. Формируются и хранятся локально там же, где установлено приложение. Удаляются файлы логов автоматически, по достижению лимита количества этих файлов (старые файлы заменяются новыми). Через конфигурационный файл приложения Studio.exe.config можно настроить путь сохранения и название файла лога, кодировку, максимальный размер файла лога, максимальное количество хранимых файлов лога, формат записи (паттерн) строки лога. Логи позволяют контролировать процессы самого приложения и выявить ошибки, возникшие во ходе работы ROBIN Studio
1ROBIN StudioФормат названия: log[n].log, где n – это порядковый номер файла лога
  • Дата и время записи;
  • Пользователь, под которым запущен компонент;
  • Тип сообщения лога;
  • Информационное сообщение (datetime - дата и время выполнения процесса; pid- process id –идентификатор процесса; thread – количество потоков; message – название совершенного процесса; source – источник процесса; category – категория процесса; identity – пользователь под которым выполнен процесс)

%USERPROFILE%/AppData/Local/Temp/Robin Platform/2.0.0/Studio/Logs


расположение при проверке

%{USERPROFILE}%/AppData/Roaming/Robin Platform/2.0.0/Studio/Logs/log.log

Типы сообщения логов * <INFO> содержит информацию о работе самой студии (загрузка студии; подключение экзекьютора; завершение работы студии; подключение визуальных модулей и т.д.) * <DEBUG> Level – debug. содержит информацию о процессах, происходящих внутри студии (открытие/закрытие проекта; действия, совершаемые роботом и т.д.). * <ERROR> содержит информацию об ошибке. Level – error. После тех же блоков, что и в <INFO> и <DEBUG> следует блок exception, содержащий в себе блоки message – текст ошибки. stackTrace - Трассировка стека, позволяющая отслеживать последовательность вызванных функций - до точки, в которой трассировка стека была создана.
ROBIN Player Логи работы самого приложения. Формируются и хранятся локально там же, где установлено приложение. Удаляются файлы логов автоматически, по достижению лимита количества этих файлов (старые файлы заменяются новыми). Настройка производится в конфигурационном файле RobotPlayer.exe.config. Логи позволяют контролировать процессы самого приложения и выявить ошибки, возникшие во ходе работы ROBIN Player.
2ROBIN PlayerФормат названия: log[n].log, где n – это порядковый номер файла лога
  • Информационное сообщение (datetime - дата и время выполнения процесса; pid- process id –идентификатор процесса; thread – количество потоков; message – название совершенного процесса; source – источник процесса; category – категория процесса; identity – пользователь под которым выполнен процесс)

%USERPROFILE%/AppData/Local/Robin/Player/Logs


расположение при проверке

%USERPROFILE%/AppData/Roaming/Robin Platform/2.0.0/RobotPlayer/Logs

Типы сообщения логов * <INFO> содержит информацию о работе самой студии (загрузка студии; подключение экзекьютора; завершение работы студии; подключение визуальных модулей и т.д.) * <DEBUG> Level – debug. содержит информацию о процессах, происходящих внутри студии (открытие/закрытие проекта; действия, совершаемые роботом и т.д.). * <WARN> содержит информацию о предупреждении / ошибке. Level – warning. Далее следуют те же блоки, что и в <INFO> и <DEBUG>
ROBIN Agent Логи работы самого приложения. Формируются и хранятся локально там же, где установлено приложение. Удаляются файлы логов автоматически, по достижению лимита количества этих файлов (старые файлы заменяются новыми). Настройка производится в конфигурационном файле Robin.Agent.dll.config. Логи позволяют контролировать процессы самого приложения и выявить ошибки, возникшие во ходе работы ROBIN Agent.
3ROBIN AgentФормат названия: log[n].log, где n – это порядковый номер файла лога
  • Дата и время записи;
  • Пользователь под которым запущен компонент;
  • Тип сообщения лога;
  • Информационное сообщение (datetime - дата и время выполнения процесса; pid- process id –идентификатор процесса; thread – количество потоков; message – название совершенного процесса; source – источник процесса; category – категория процесса; identity – пользователь под которым выполнен процесс).
%USERPROFILE%/AppData/Roaming/Robin Platform/2.0.0/Agent/Logs
Исходники (схемы) роботов Логи исполнения исходников, запущенных через ROBIN Studio. На каждый исходник создается отдельный файл лога. При перезапуске одного и того же исходника его файл каждый раз перезаписывается информацией о новом запуске. Таким образом, для каждого запускаемого исходника всегда существует только один файл лога, содержащий информацию только о последнем запуске этого исходника. Логи исходников позволяют проконтролировать работу схемы робота и выявить ошибки, возникшие в каких-либо действиях сценария робота.
4Схемы роботовФормат названия: [Название робота]-[n].log, где n – это дата и время начала работы робота.
  • Информационное сообщение;
  • Дата и время записи;
  • Пользователь под которым запущен компонент;
  • Тип сообщения лога;
  • Модуль от которого получено сообщение

%USERPROFILE%/AppData/Local/Programs/Robin Platform/2.0.0/RobotLogs

Сообщение типа Error содержит информацию о ошибке процесса и следующие модули:

  • Message – информация об ошибке
  • robotId
  • actionNumber
  • uniqueName
  • actionId

Исполнение готовых программных роботов

На каждого робота создается отдельный файл лога. При перезапуске одного и того же робота его файл каждый раз перезаписывается информацией о новом запуске. Таким образом, для каждого запускаемого робота всегда существует только один файл лога, содержащий информацию только о последнем запуске этого робота. Если робот завершил работу без ошибок, то будет сформирован пустой лог-файл. Если во время работы робота возникли ошибки, то в лог файле будет записана только информация об ошибке. Логи хранятся в той же папке, что и логи исходников (схем) робота.

5Исполнение готовых программных роботовФормат названия: [Название робота]-[n].log, где n – это дата и время начала работы робота.При корректном завершении работы робота лог представляет собой пустой файл. Сообщение типа Error содержит информацию о ошибке процесса и следующие модули: * Message – информация об ошибки * robotId * actionNumber * uniqueName * actionId

%USERPROFILE%/AppData/Local/Programs/Robin Platform/2.0.0/RobotLogs

ROBIN Executor Отдельно формируются логи каждого движка (net, java, python). Файлы логов Net и Java удаляются автоматически, по достижению лимита количества этих файлов (старые файлы заменяются новыми). Через конфигурационный файл NetExecutor.exe.config для Net можно настроить те же параметры, что и для ROBIN Studio. Для Java – через файл logback.xml. Для python пока что нет отдельного конфигурационного файла для настройки логирования, но его файлы также автоматически удаляются по достижению лимита количества этих файлов (максимальное количество = 10). Логи python сохраняются в двух файлах: python_engine.log - это логи Python движка. python_executor.log - это логи Python экзекьутора.
6ROBIN ExecutorФормат названия: java.log
  • Дата и время записи;
  • Пользователь под которым запущен компонент;
  • Тип сообщения лога;
  • Информационное сообщение (message – название совершенного процесса; loglevel – уровень логирования; dataTime - дата и время выполнения процесса; exeption – исключение. Обычно null, в логе с ошибкой содержит message и stacktrace)
%USERPROFILE%/AppData/Roaming/Robin Platform/2.0.0/Executor/Logs
Формат названия: python_executor.log; python_engine.log
  • Дата и время записи;
  • Пользователь под которым запущен компонент;
  • Тип сообщения лога;
  • Модуль от которого получено сообщение;
  • Информационное сообщение python_executor.log (module - модуль от которого получено сообщение; status – статус процесса; content – описание процесса, в него может входить сообщение об ошибках)
  • Информационное сообщение Python_engine.log ( message – название совершенного процесса; thread – название потоков)
Формат названия: log[n].log, netExecutorLog.[n], где n – это порядковый номер файла лога
  • Дата и время записи;
  • Пользователь под которым запущен компонент;
  • Тип сообщения лога;
  • Информационное сообщение (level – уровень логирования; datetime - дата и время выполнения процесса; pid- process id –идентификатор процесса; thread – количество потоков; message – название совершенного процесса; source–источник процесса;category категория процесса; identity – пользователь под которым выполнен процесс
Типы сообщения логов * <INFO> содержит информацию о работе самой студии (загрузка студии; подключение экзекьютора; завершение работы студии; подключение визуальных модулей и т.д.) * <DEBUG> Level – debug. содержит информацию о процессах, происходящих внутри студии (открытие/закрытие проекта; действия, совершаемые роботом и т.д.). * <WARN> level – Warning, содержит предупреждение о внештатном использовании, например, неожиданные параметры вызова и т.д.


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

КомпонентПример логаПример лога с ошибкой
ROBIN StudioOct 26 03:19:07 DESKTOP-UBUAANO <DEBUG>{«level»:»Debug»,»datetime»:»2021-10- 26T15:19:07.4143472+03:00» ,»pid»:15572,»thread»:1,»message»:»InitProjectLoaderModule()», «source»:»Robin.Studio.Modules.LdapModule.LdapModuleInitialization»,»category»: «LdapModuleInitialization»,»identity»:»DESKTOP- UBUAANO\persi»}Oct 26 03:25:45 DESKTOP-UBUAANO <ERROR> {«level»:»Error»,»datetime»:»2021-10-26T15:25:45.9490191+03:00»,»pid»:4836,»thread»:1,»message»:»SaveExecutableScenarioToFile failed» «source»:»Robin.Studio.Core.Application.ApplicationViewModelCommands»,»category»:»ApplicationViewModelCommands»,»identity»:»DESKTOP-UBUAANO\persi»,»exception»:{«message»:»У действия Добавить N заявки не выбрана версия»,»stackTrace»:» в Robin.Studio.Core.DiagramPrimitives.Extensions.ActionExtensions.<…>в Robin.Studio.Core.Application. ApplicationViewModelCommands.SaveExecutableScenarioToFile()»,»source»:»Robin.Studio.Core.DiagramPrimitives»,»type»:»System.NullReferenceException»}}
ROBIN Player{«datetime»:»2021-10-27T15:35:49.0142064+03:00»,»pid»:18164,»thread»:13,»message»: «PipeServer WaitForConnection «,»source»:»Robin.RobotPlayer.App»,»category»:»Application», «identity»:»DESKTOP-UBUAANO\persi»}{«level»:»Warning»,»datetime»:»2021-11-02T09:19:18.3494074+03:00»,»pid»:10936,»thread»:1,»message»:»Get Favorites failed»,»source»:»Robin.RobotPlayer.Ply.Services. StorageService»,»category»:»StorageService»,»identity»:»DESKTOP-UBUAANO\persi»,»exception»:{«message»:»Не удалось найти часть пути «C:\Users\persi\AppData\Local\Robin\Storage\Favorites.zip».»,»stackTrace»:» в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)rn в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)rn в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)rn в System.IO.Compression.ZipFile.Open(String archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding)rn в Robin.RobotPlayer.Ply.Repositories.FavoriteRepository.Get()rn в Robin.RobotPlayer.Ply.Services.StorageService.GetFavorites()»,»source»:»mscorlib»,»type»: «System.IO.DirectoryNotFoundException»}}
ROBIN AgentDESKTOP-UBUAANO <DEBUG> {«level»:»Debug»,»datetime»:»2021-10-20T10:05:40.9722638+03:00», «pid»:6196,»thread»:14,»message»:»Получено имя пользователя persi»,»source»: «Robin.Agent.RobotExecution.State.StateEventProcessors.CreatedStateProcessor»,»category»: «CreatedStateProcessor»,»identity»:»DESKTOP-UBUAANO\persi»}Oct 20 09:26:04 DESKTOP-UBUAANO <ERROR> {«level»:»Error»,»datetime»:»2021-10-20T09:26:04.720179+03:00»,»pid»:6196,»thread»:1,»message»:»TryCreateConnection failed»,»source»: «RabbitMqClient: Offline»,»category»:»RabbitMqClientBase»,»identity»:»DESKTOP-UBUAANO\persi»,»exception»:{«message»:»The operation has timed out.»,»stackTrace»:» at RabbitMQ.Client.Impl.TaskExtensions.TimeoutAfter(Task task, TimeSpan timeout)rn at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectOrFail(ITcpClient socket, AmqpTcpEndpoint endpoint, TimeSpan timeout)»,»source»:»RabbitMQ.Client»,»type»:»System.TimeoutException»}}
Схемы роботов2021-10-27T17:25:04.436+03:00 RobotDeveloper DESKTOP-UBUAANO Robin.Engine 10792 {«message»: «actionStartMessage»,»ParametersMap»:{«fileName»:»тест»,»dirPath»:»C:\Users\persi\ OneDrive\Рабочий стол»,»overwrite»:»True»},»robotId»:»b5d2b5d8-5827-4fb2-b793-f892809266c7» «actionNumber»:null,»uniqueName»:»Создать файл Excel 1»,»actionId»:»ac9100b8-768e-4f4b-985b -5eb18b5a61ec»}2021-10-27T17:25:07.255+03:00 Error DESKTOP-UBUAANO Robin.Action 10792 {«message»:»428668b0-f475-47b7-914d-58d394453638 возникло Robin.Exception.FileNotFound в Robin.Excel. Open: File „C:\Users\persi\OneDrive\Рабочий стол\тест“ was not found»,»robotId»:»b5d2b5d8-5827-4fb2-b793-f892809266c7»,»actionNumber»:null,»uniqueName»:»Открыть 1»,»actionId»:»428668b0-f475-47b7-914d-58d394453638»}
Исполнение готовых программных роботовПустой текстовый файл2021-11-03T08:58:44.836+03:00 Error DESKTOP-UBUAANO Robin.Action 400 {«message»:»Failed at executing action: Robin.Excel.CellSetValue, Exception: Ошибка установки значения А1=значение. Cell is incorrect: [А1]»,»robotId»:»170332e0-0b56-4c1b-956f-689268a50573»,»actionNumber»:null,»uniqueName»:»Установить значение ячейки 1»,»actionId»:»4e8b790e- 51fa- 4c0c-b5b7-d61ffabbc11c»}
ROBIN Executor java.logоктября 20 10:11:45 DESKTOP-UBUAANO DEBUG {«message»:»Try to initialize timestamp», «logLevel»:»DEBUG»,»dateTime»:»октября 20 10:11:45»,»exception»:null}октября 26 15:40:09 DESKTOP-UBUAANO ERROR{«message»:null,»logLevel»:»ERROR»,»dateTime»:»октября 26 15:40:09»,»exception»:{«message»:null,»stacktrace»:»BusinessException[type =Robin.Exception.ElementNotFound, typeVersion=null, source=Robin.Selenium.SendClick,parameters= {stackTrace=ru.robin.selenium.seleniumactionshelper.ElementUtils. getReachableElement(ElementUtils.java:91)nru.robin.selenium.SendClick.doActionWork(SendClick.java:91)nru.robin.sdk.action.AbstractRobinAction.execute(AbstractRobinAction. java:38)nru.robin.engine.Engine.b(Engine.java:1251)nru.robin.engine.Engine.c(Engine.java:161)njava.lang.Thread.run(Thread.java:748)}, message=null]rntat ru.robin.selenium.seleniumactionshelper.ElementUtils.getReachableElement(ElementUtils.java:91)rntat ru.robin.selenium.SendClick.doActionWork (SendClick.java:91)rntat ru.robin.sdk.action.AbstractRobinAction.execute(AbstractRobinAction.java:38)rntat ru.robin.engine.Engine.b(Engine.java:1251)rntat ru.robin.engine.Engine.c(Engine.java:161)rntat java.lang.Thread.run(Thread.java:748)rn»}}
ROBIN Executor Python_executor.log2021-08-31T14:20:05.849+03:00 DEBUG DESKTOP-UBUAANO Robin.Executor 1548 {«module»: «PythonExecutor.modules.Executor», «status»: «running», «content»: «All ZMQ Pollers registered»}2021-11-01T17:18:02.639+03:00 DEBUG DESKTOP-UBUAANO Robin.Executor 12504 {«module»: «PythonExecutor.modules.Executor», «status»: «running», «content»: «Got inproc msg from Engine. Received message: b“\n\x10\n\x0eROBOT_FINISHED\x1a\xaf\x06\n$a78ae3da-9472-4d2f-83a6-e35a11ae7c05\x12\x1d\x12\x1bRobot finished successfully\x1a\x0c\x08\x9a\xee\xff\x8b\x06\x10\xc0\x91\xea\xaf\x02*\xd9\x05<ActionInOut schemaVersion=»5.4.0» scenarioLogLevel=»ActionDeveloperError»> \n <InOutResources/>\n <ActionBreakpoints/>\n <ActionLogLevels>\n <ActionLogLevel actionId=»7e9fc174-90a1-49ad-a5ec-e3149fd2fb5c» logLevel=»Error»/>\n <ActionLogLevel actionId=»887c25d3-be6f-4a0e-882d-a365eb211c91» logLevel=»Error»/>\n <ActionLogLevel actionId=»428668b0-f475-47b7-914d-58d394453638» logLevel= «Error»/>\n <ActionLogLevel actionId=»4e8b790e-51fa-4c0c-b5b7-d61ffabbc11c» logLevel=»Error»/>\n <ActionLogLevel actionId=»101044ed-8cf2-4252-bb4a-b8782e5bf5d1» logLevel=»Error»/>\n <ActionLogLevel actionId=»48fc2f56-3f9a-4952-a193-24f9bdada649» logLevel=»Error»/>\n </ActionLogLevels>\n</ActionInOut>\n“»}
ROBIN Executor Python_engine.log2021-11-03T10:02:43.569+03:00 DEBUG DESKTOP-UBUAANO Robin.Engine 6292 {«message»: «BranchService initialized», «thread»: «Engine»}2021-11-03T10:02:46.830+03:00 ERROR DESKTOP-UBUAANO Robin.Engine 6292 {«message»: «Can’t execute „Robin.Vision.WaitForObject“ action. Error: OpenCV(4.4.0) C:\Users\ appveyor\AppData\Local\Temp\1\pip-req-build-rwld3ghi\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function „cv::cvtColor’n», «thread»: «Thread- 2»}
ROBIN Executor log[n].logOct 27 05:25:03 DESKTOP-UBUAANO <DEBUG> {«level»:»Debug»,»datetime»:»2021-10-27T17:25:03. 3781561+03:00»,»pid»:10792,»thread»:12,»message»:»Десериализован ActionInOut: Robin.ActionInOuts.ActionInOut»,»source»:»NetEngine.Engine»,»category»:»Engine»,»identity»: «DESKTOP-UBUAANO\persi»}Nov 03 08:35:08 DESKTOP-UBUAANO <ERROR> {«level»:»Error»,»datetime»:»2021-11-03T08:35:08.0421669+03:00»,»pid»:10564,»thread»:8,»message»:»Exception occurred within executing action: Ошибка установки значения И1=УСПЕХ. Cell is incorrect: [И1]»,»source»:»NetEngine.Engine»,»category»:»Engine»,»identity»:»DESKTOP-UBUAANO\persi»,»exception»: {«message»:»Ошибка установки значения И1=УСПЕХ. Cell is incorrect: [И1]»,»stackTrace»:» в .(Int32 , MethodBase , Object , Object[] )rn в Robin.Excel.CellSetValue.Execute(IDictionary`2 parameters)r
  • Нет меток