Главная PythonDLL Агенты MQL5Doc JavaDoc GitHub English

За основу взяты классы Logger и MessageFormatter из библиотеки SLF4J.

Подключение

Достаточно вставить:

#include <Log4MQL.mqh>

Но для переопределение уровня логирования нужна такая последовательность кода:<pre class="code">#define _LOG_PARAM #include <Log4MQL.mqh> input LOG_LEVEL loglevel = LOG_WARN; // Log Level</pre>А для переопределения класса:<pre class="code">#define _LOG_CLASS CMyLog #include <Log4MQL.mqh> </pre><p>“Юзай макросы, Люк…”</p><p>Для обхода синтаксических ограничений MQL5 пришлось использовать макросы.</p><p>Перегрузка макросов по количеству параметров в MQL5 не работает.</p><pre class="code">#define DEF(a1) Print(a1) #define DEF(a1,a2) Print(a1,a2) // WARN: macro redefinition

void OnStart() {    DEF(“111”); // ERROR: ‘DEF’ - not actual parameters count for macro                //        ‘DEF’ - undeclared identifier

   DEF(“222”, 333); }</pre><p>Для обхода этого ограничения добавлено количество параметров к имени макроса:</p><pre class="code">lgDebug0(“Только текст”); lgDebug2(“Значения 1={}, 2={}”, “Привет”, 100);</pre><p>Запись лога в файл</p><pre class="code">#include <Log4MQL_toFile.mqh></pre><p>Переопределенный класс, который записывает все сообщения в файл.</p><p>Но больше - это тест наследственности классов без изменения принципов использования. /// “Нелогичность” реализации некоторых частей класса связана с ограничениями MQL в .
</p><p>Примеры</p><p>// тут пример и вывод с обычный</p><p>// тут с файлом</p><p>Мониторинг логов</p><p>Саму библиотеку можно использовать и просто так, но именно расширяемость парсера LogMX подтолкнула меня на создание библиотеки.</p><p>LogMX создан на Java, поэтому запускается на многих ОСях.</p><p>Так же LogMX поставляется в бесплатной и платной версии. В платной версии можно всю папку логов для мониторинга задать.</p><p>Архив LogMX_Log4MQL.zip (исходник тоже в архиве) нужно распаковать в // тут путь в Линуксе и Вине узнать</p><p>Но вот скирины с настройками LogMX для мониторинга логов:
</p>