Table of Contents

Логирование

Для мониторинга работы торговых роботов, написанных на S#, можно использовать специальный класс LogManager. Данный класс принимает сообщения LogMessage от источников LogManager.Sources через событие ILogSource.Log и передает их в слушатели LogManager.Listeners. Таким образом код робота сможет передавать отладочную информацию (например, об ошибках, случившихся в процессе работы, или дополнительную информацию о математических расчетах), а LogManager будет решать, как отобразить для оператора данную информацию.

Стандартно в S# входят следующие реализации ILogListener, выбор которых влияет на то, куда будут переданы поступившие от стратегии сообщения:

  1. FileLogListener - записывает сообщения в текстовый файл. Рекомендуется использовать для уже сделанного робота, и использовать логи в форс-мажорных ситуациях.
  2. ConsoleLogListener - записывает сообщения в консольное окно (если робот не имеет такое окно, то оно будет автоматически создано). Рекомендуется использовать для отладки и тестирования робота.
  3. DebugLogListener - записывает сообщения в отладочное окно. Такое окно можно просматривать через специальные программы, такие как DebugView. Рекомендуется использовать для отладки и тестирования робота.
  4. EmailLogListener - отсылает сообщения на указанный email адрес. Рекомендуется использовать, если робот расположен на непостоянно контролируемом компьютере (на сервере у хостера).
  5. GuiLogListener - отображает сообщения через специальное окно LogControl. Умеет работать в двух режимах: когда все сообщения пишутся в одно окно, и когда для каждого ILogSource создается отдельное окно. Рекомендуется использовать, если робот обладает графическим интерфейсом.

LogListener можно настроить на фильтрацию сообщений через свойство LogListener.Filters. Например, через фильтры можно задать, какой тип сообщений стоит обрабатывать. Это особенно полезно в случаях использования EmailLogListener, чтобы, к примеру, посылать e-mail только в критических ситуациях (ошибка алгоритма торговли), а не на каждое отладочное сообщение.

Следующие шаги

Логирование Strategy

Логирование IConnector

Другие источники логов

Визуальный мониторинг

Создание ILogListener