Table of Contents

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

Класс Strategy реализует интерфейс ILogSource. Поэтому стратегии можно передавать в LogManager.Sources, и все ее сообщения будут автоматически попадать в LogManager.Listeners.

Предварительные условия

Торговые стратегии

Логирование в тестовый файл

  1. В самом начале необходимо создать менеджер логирования:

    var logManager = new LogManager();
    
  2. Затем необходимо создать файловый логгер, передав в него имя файла, и добавить его в LogManager.Listeners:

    var fileListener = new FileLogListener("{0}_{1:00}_{2:00}.txt".Put(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day));
    logManager.Listeners.Add(fileListener);
    
  3. Для логирования сообщений необходимо добавить стратегию в LogManager.Sources:

    logManager.Sources.Add(lkohSmaStrategy);
    
  4. После добавления стратегии в менеджер логирования все ее сообщения будут записаться в файл.

Проигрывание звука

  1. Создание логгера и передача в него имени звукового файла:

    var soundListener = new SoundLogListener("error.mp3");
    
    logManager.Listeners.Add(soundListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Установка фильтра на проигрывание звука только при сообщениях типа LogLevels.Error:

    soundListener.Filters.Add(msg => msg.Level == LogLevels.Error);
    

Отсылка Email

  1. Создание логгера и передача в него параметров отсылаемых писем:

    var emailListener = new EmailLogListener("from@stocksharp.com", "to@stocksharp.com");
    logManager.Listeners.Add(emailListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Установка фильтра на отсылку сообщений типов LogLevels.Error и LogLevels.Warning:

    emailListener.Filters.Add(msg => msg.Level == LogLevels.Error);
    emailListener.Filters.Add(msg => msg.Level == LogLevels.Warning);
    

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

  1. Создание логгер GuiLogListener:

    // каждая стратегия будет иметь свое собственное окно
    var guiListener = new GuiLogListener();
    logManager.Listeners.Add(guiListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Вот как выглядит окно логов при работе стратегии: strategylogging

См. также

Визуальные компоненты логирования