MT4 Logging API
- Bibliotecas
- COSTEL VLAD
- Versión: 1.0
Esta sencilla biblioteca de registro está diseñada para proporcionar una salida de registro clara y contextual con un mínimo de complicaciones. Expone cinco métodos:
- LogErrorMessage(mensaje)
- LogWarnMessage(mensaje)
- LogInfoMessage(mensaje)
- LogDebugMessage(mensaje)
- LogTraceMessage(mensaje)
Cada método imprime el mensaje proporcionado en la consola sólo si el nivel de gravedad alcanza o supera el umbral actual establecido por una variable global logLevel. Esto significa que usted controla la verbosidad de los registros de su aplicación ajustando logLevel.
Lo que distingue a esta librería es su conciencia de contexto integrada: cada mensaje de registro lleva automáticamente como prefijo el nombre del archivo fuente, el número exacto de línea y la función desde la que se originó la llamada. Esto proporciona una precisión milimétrica a la hora de localizar problemas y simplifica el proceso de depuración.
Al combinar un control ordenado de la salida con información contextual detallada, esta biblioteca es una herramienta ideal para los desarrolladores que necesitan identificar y resolver problemas rápidamente, manteniendo su código limpio y fácil de mantener.
Puede descargar el código fuente gratuito de esta biblioteca desdegithub e incluirlo directamente en el código de su EA; tenga en cuenta que el archivo fuente es compatible con las plataformas MT4 y MT5.
He aquí un ejemplo de uso:
#define LOGLEVEL_OFF 0 #define LOGLEVEL_ERROR 1 #define LOGLEVEL_WARNING 2 #define LOGLEVEL_INFO 3 #define LOGLEVEL_DEBUG 4 #define LOGLEVEL_TRACE 5 // Incluir la cabecera API de registro #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 //------------------------------------------------------- // Función de inicialización (OnInit) //------------------------------------------------------- int OnInit() { /* Establece el nivel de registro global utilizando uno de los niveles de registro predefinidos: LOGLEVEL_OFF -> Ningún registro en absoluto LOGLEVEL_ERROR -> Sólo mensajes de error LOGLEVEL_WARNING -> Errores y advertencias LOGLEVEL_INFO -> Mensajes de información y superiores LOGLEVEL_DEBUG-> Mensajes de depuración (y superiores) LOGLEVEL_TRACE -> Todos los mensajes de registro */ SetLoggerLevel(LOGLEVEL_INFO); // Para este ejemplo, registramos info y arriba. return INIT_SUCCEEDED; } //------------------------------------------------------- // Controlador del evento principal //------------------------------------------------------- void OnTick() { // Registrar un mensaje informativo en cada tick. LogInfoMessage("OnTick event triggered."); }
