MT4 Logging API
- Bibliotheken
- COSTEL VLAD
- Version: 1.0
Diese einfache Logging-Bibliothek wurde entwickelt, um klare und kontextbezogene Log-Ausgaben mit minimalem Aufwand bereitzustellen. Sie stellt fünf Methoden zur Verfügung:
- LogErrorMessage(Meldung)
- LogWarnMessage(Meldung)
- LogInfoMessage(Meldung)
- LogDebugMessage(Meldung)
- LogTraceMessage(Meldung)
Jede Methode gibt die angegebene Meldung nur dann auf der Konsole aus, wenn der Schweregrad den durch eine globale Variable logLevel festgelegten Schwellenwert erreicht oder überschreitet. Das bedeutet, dass Sie die Ausführlichkeit der Anwendungsprotokolle durch Anpassen von logLevel steuern.
Das Besondere an dieser Bibliothek ist die eingebaute Kontexterkennung: Jeder Protokollmeldung wird automatisch der Name der Quelldatei, die genaue Zeilennummer und die Funktion, von der der Aufruf ausging, vorangestellt. Dies ermöglicht eine punktgenaue Lokalisierung von Problemen und vereinfacht den Debugging-Prozess.
Durch die Kombination von aufgeräumter Ausgabesteuerung mit detaillierten Kontextinformationen ist diese Bibliothek ein ideales Werkzeug für Entwickler, die Probleme schnell identifizieren und beheben und gleichzeitig ihren Code sauber und wartbar halten müssen.
Sie können den kostenlosen Quellcode dieser Bibliothek vongithubherunterladen und direkt in Ihren EA-Code einbinden. Bitte beachten Sie, dass die Quelldatei sowohl mit MT4- als auch mit MT5-Plattformen kompatibel ist.
Hier ist ein Beispiel für die Verwendung:
#define LOGLEVEL_OFF 0 #define LOGLEVEL_ERROR 1 #define LOGLEVEL_WARNING 2 #define LOGLEVEL_INFO 3 #define LOGLEVEL_DEBUG 4 #define LOGLEVEL_TRACE 5 // Einfügen des API-Headers für die Protokollierung #import "vladefix/logging-api-v1.00.ex4" void SetLoggerLevel(int); void LogErrorMessage(string); void LogWarnMessage(string); void LogInfoMessage(string); void LogDebugMessage(string); void LogTraceMessage(string); #import //------------------------------------------------------- // Initialisierungsfunktion (OnInit) //------------------------------------------------------- int OnInit() { /* Setzen Sie die globale Protokollierungsstufe mit einer der vordefinierten Protokollierungsstufen: LOGLEVEL_OFF -> Überhaupt keine Protokollierung LOGLEVEL_ERROR -> Nur Fehlermeldungen LOGLEVEL_WARNING -> Fehler und Warnungen LOGLEVEL_INFO -> Informationsmeldungen und höher LOGLEVEL_DEBUG-> Debug-Meldungen (und darüber hinaus) LOGLEVEL_TRACE -> Alle Logging-Meldungen */ SetLoggerLevel(LOGLEVEL_INFO); // Für dieses Beispiel protokollieren wir Info und darüber. return INIT_SUCCEEDED; } //------------------------------------------------------- // Haupthandler für das Tick-Ereignis //------------------------------------------------------- void OnTick() { // Protokollieren Sie bei jedem Ticken eine Informationsmeldung. LogInfoMessage("OnTick event triggered."); }
