MQLArticles/Utils/FA/LoggerDef.mqh
2026-08-27 18:09:07 -05:00

51 lines
No EOL
2.5 KiB
MQL4

//+------------------------------------------------------------------+
//| LoggerDef.mqh |
//| Copyright 2026, Niquel Mendoza |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2026, Niquel Mendoza"
#property link "https://www.mql5.com"
#property strict
#ifndef MQLARTICLES_UTILS_FA_LOGGERDEF_MQH
#define MQLARTICLES_UTILS_FA_LOGGERDEF_MQH
//+------------------------------------------------------------------+
//| Defines |
//+------------------------------------------------------------------+
//--- Macro
#define FUNCION_ACTUAL __FUNCTION__
//--- Log Flags
#define LOG_LEVEL_ERROR 1 // 0001 - Critical errors
#define LOG_LEVEL_WARNING 2 // 0010 - Warnings
#define LOG_LEVEL_INFO 4 // 0100 - General information
#define LOG_LEVEL_CAUTION 8 // 1000 - Cautions
#define LOG_ALL LOG_LEVEL_CAUTION|LOG_LEVEL_INFO|LOG_LEVEL_WARNING
//---
enum ENUM_VERBOSE_LOG_LEVEL
{
VERBOSE_LOG_LEVEL_ERROR_ONLY = LOG_LEVEL_ERROR, // Only Errors
VERBOSE_LOG_LEVEL_WARNINGS = LOG_LEVEL_WARNING, // Warnings + Errors
VERBOSE_LOG_LEVEL_INFO = LOG_LEVEL_INFO, // Info + Errors
VERBOSE_LOG_LEVEL_CAUTION = LOG_LEVEL_CAUTION, // Caution + Errors
VERBOSE_LOG_LEVEL_WARNINGS_INFO = LOG_LEVEL_WARNING | LOG_LEVEL_INFO, // Warnings + Info + Errors
VERBOSE_LOG_LEVEL_WARNINGS_CAUTION = LOG_LEVEL_WARNING | LOG_LEVEL_CAUTION, // Warnings + Caution + Errors
VERBOSE_LOG_LEVEL_INFO_CAUTION = LOG_LEVEL_INFO | LOG_LEVEL_CAUTION, // Info + Caution + Errors
VERBOSE_LOG_LEVEL_ALL = (LOG_LEVEL_WARNING | LOG_LEVEL_INFO | LOG_LEVEL_CAUTION) // All: Warnings + Info + Caution + Errors
};
#define WARNING_TEXT "WARNING"
#define CAUTION_TEXT "CAUTION"
#define INFO_TEXT "INFO"
#define ERROR_TEXT "ERROR"
#define CRITICAL_ERROR_TEXT "CRITICAL ERROR"
#define FATAL_ERROR_TEXT "FATAL ERROR"
//+------------------------------------------------------------------+
//| Método principal de logging |
//+------------------------------------------------------------------+
#define FastLog(function, class_info, message) ::Print("[", class_info, "] ", function, " | ", message)
#endif // MQLARTICLES_UTILS_FA_LOGGERDEF_MQH