Логирование информации в роботе на OsEngine

Логирование информации в роботе на OsEngine

Почти сразу, после того, как Вы начнёте писать своих первых роботов, Вам придётся научиться делать записи в лог. Чтобы понимать, правильно ли работают ваши роботы.

Сегодня мы посмотрим, как это делается из кода робота.

 

1. Каждый робот содержит метод для отправки сообщений в лог.

SendNewLogMessage

В качестве параметров он принимает:

1. Строку (String);

2. Тип сообщения (Logging.LogMessageType).

Выглядит в коде робота это так:

Перечисление Logging.LogMessageType содержит следующие константы:

1. System – системное сообщение, используется только во внутренних слоях программы.

2. Signal – используется в роботах при получении торгового сигнала.

3. Error – используется для отправки ошибок. Сообщения данного типа отображаются во всплывающем поверх программы окне. В экстренном логе.

4. Connect – сообщения из коннектора информируют о состоянии соединения.

5. Trade – информация о работе торговой логики.

6. NoName – сообщения без указания конкретной спецификации.

7. User – указывают на действия пользователей.

8. OldSession – сообщения из прошлой сессии работы программы.

 

2. Открываем пример робота CandlesLoggingSample.

На гитХабе его можно посмотреть по этой ссылке: https://github.com/AlexWan/OsEngine

Внутри проекта пример здесь:

 

3. Что в примере?

1. Стандартное создание источника BotTabSimple и его сохранение в переменную _tab.

2. Подписываемся на событие завершения свечи у источника и создаём обработчик.

3. Создаём сообщение, которое будем отправлять в лог.

4. Отсылаем в лог робота с типом сообщения User.

5. Отсылаем в лог робота с типом сообщения Error. Это сообщение ещё дополнительно попадёт в экстренный лог.

 

4. Где будут записи в логе у этого примера?

Стандартный лог робота можно увидеть во вкладке “Bot log” у самого робота. Именно сюда будут записываться любые типы сообщений:

Кроме того, мы увидим всплывающий «Emergency log», в него попадают сообщения с пометкой Error:

 

5. Глобальный лог

Если Вам нужно вывести какие-то данные не из робота. А из какой-то другой части программы, то можно воспользоваться глобальным логом сервера.

Вызывается он так:


В таком случае сообщения будут выведены вот сюда:


Но пользоваться таким способом вывода информации надо в крайних случаях. Стандарт - это лог робота. Чтобы было понятно какой робот какие сообщения выдаёт.

Удачных алгоритмов!

 

P.S.

Os Engine поддержка терминала: https://t.me/osengine_official_support 

Обсуждаем в телеграмме: https://t.me/o_s_a_chat

Канал проекта: https://t.me/bad_quant

13:10
103

Комментарии

Нет комментариев. Ваш будет первым!