Strategie-Logging

Die Klasse Strategy implementiert das Interface ILogSource. Daher können Strategien an LogManager.Sources übergeben werden, und alle ihre Nachrichten gelangen automatisch zu LogManager.Listeners.

Voraussetzungen

Handelsstrategien

Logging in eine Testdatei

  1. Zuerst müssen Sie den speziellen Manager erstellen:

    var logManager = new LogManager();
    
  2. Danach müssen Sie einen Datei-Logger erstellen, ihm den Dateinamen übergeben und ihn zu LogManager.Listeners hinzufügen:

    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. Zum Loggen von Nachrichten müssen Sie die Strategie zu LogManager.Sources hinzufügen:

    logManager.Sources.Add(lkohSmaStrategy);
    
  4. Nach dem Hinzufügen der Strategie zum Logging-Manager werden alle ihre Nachrichten in die Datei geschrieben.

Soundwiedergabe

  1. Erstellen eines Loggers und Übergabe des Namens der Sounddatei:

    var soundListener = new SoundLogListener("error.mp3");
    
    logManager.Listeners.Add(soundListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Filter so setzen, dass der Sound nur abgespielt wird, wenn der Nachrichtentyp LogLevels.Error ist:

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

E-Mail-Versand

  1. Erstellen Sie den Logger und übergeben Sie ihm die Parameter für die versendeten Nachrichten:

    var emailListener = new EmailLogListener("from@stocksharp.com", "to@stocksharp.com");
    logManager.Listeners.Add(emailListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Setzen des Filters für das Senden von Nachrichten der Typen LogLevels.Error und LogLevels.Warning:

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

Logging in das LogWindow

  1. Erstellen des GuiLogListener-Loggers:

     // Jede Strategie erhält ihr eigenes Fenster
    var guiListener = new GuiLogListener();
    logManager.Listeners.Add(guiListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. So sieht das Logfenster während der Arbeit der Strategie aus: strategylogging

Empfohlene Inhalte

Visuelle Logging-Komponenten