Для изменения размера нажмите или перетащите
Логирование Strategy

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

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

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

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

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

    C#
    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. Для логирования сообщений необходимо добавить стратегию в LogManagerSources:

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

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

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

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

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

Отсылка Email

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

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

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

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

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

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

    Логирование стратегий.
См. также