MetaTrader 5 / Bibliotheken

CTsLogger ist ein einfaches und flexibles Protokollierungssystem - Bibliothek für den MetaTrader 5

144
(5)

CTsLogger ist ein einfaches und flexibles Protokollierungssystem, das speziell für die Erstellung und das Debugging von Handelssystemen in MQL5 entwickelt wurde. Der Hauptvorteil von CTsLogger ist die Möglichkeit, den Debugging-Modus für bestimmte Module oder Codeabschnitte vorübergehend zu aktivieren, während ein niedrigeres globales Logging-Niveau beibehalten wird. Auf diese Weise können Sie eine detaillierte Protokollierung bestimmter Codeabschnitte erhalten, ohne im Nachrichtenfluss zu "ertrinken", und diese dann mit einem Befehl deaktivieren.

.

CTsLogger unterstützt 4 Ebenen der Protokollierung, in aufsteigender Reihenfolge der Ausführlichkeit:

1. LOG_LEVEL_ERROR - nur Fehler

2. LOG_LEVEL_WARNING - Warnungen und Fehler

3. LOG_LEVEL_INFO - Informationsmeldungen, Warnungen und Fehler

4. LOG_LEVEL_DEBUG - Debug-Meldungen, Informationsmeldungen, Warnungen und Fehler


CTsLogger unterstützt hierarchische, durch einen Punkt getrennte Modulbezeichner, die es ermöglichen, Module in einer logischen Struktur zu organisieren. Die Hierarchie kann eine beliebige Schachtelungstiefe haben.

Vollständige API

Erstellung und Initialisierung

- `CTsLogger()` - Konstruktor

- `~CTsLogger()` - Destruktor

- `Initialize(string logFileName, bool logToTerminal = true)` - Initialisierung des Loggers

- SetGlobalLogLevel(ENUM_LOG_LEVEL level)` - Setzen der globalen Protokollierungsstufe

Methoden der Protokollierung

- Error(string moduleId, string message)` - Protokollierung von Fehlern

-`Warning(string moduleId, string message)` - protokolliert Warnungen

- `Info(string moduleId, string message)` - Protokollierung von Informationsmeldungen

-`Debug(string moduleId, string message)` - Protokollierung von Debug-Meldungen

Grundlegende Steuerung des Debug-Modus

- `EnableDebugMode(string moduleId)` - Aktivierung des Debug-Modus für ein Modul

- DisableDebugMode(string moduleId)` - Deaktivieren des Debug-Modus für ein Modul und alle seine untergeordneten Module

- `IsInDebugMode(string moduleId)` - überprüft, ob der Debug-Modus aktiviert ist

- `EnableDebugModeAll()` - aktiviert den Debug-Modus für alle Module

- DisableDebugModeAll()` - Deaktiviert den globalen Debug-Modus mit Speicherung der Moduleinstellungen

Erweiterte Kontrolle des Debug-Modus

- PauseDebugMode()` - vorübergehende Aussetzung des Debug-Modus für alle Module

- ResumeDebugMode()` - Wiederaufnahme des Debug-Modus für zuvor konfigurierte Module

- IsDebugModePaused()` - prüft, ob der Debug-Modus pausiert ist

- ResetDebugModules()` - Vollständiges Zurücksetzen aller Debug-Module

- HasChildDebugModules(string parentModule)` - prüft, ob sich untergeordnete Module im Debug-Modus befinden



Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/58105