거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Telegram에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
라이브러리

Logify - Library for log management - MetaTrader 5용 라이브러리

조회수:
55
평가:
(4)
게시됨:
\MQL5\Experts\Logify\ \MQL5\Include\Logify\
Logify.mqh (25.24 KB) 조회
\MQL5\Include\Logify\Utils\ \MQL5\Include\Logify\Suppression\ \MQL5\Include\Logify\Handlers\ \MQL5\Include\Logify\Formatter\ \MQL5\Include\Logify\Error\Languages\ \MQL5\Include\Logify\Error\
Error.mqh (0.55 KB) 조회
LogifyError.mqh (14.29 KB) 조회
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

Logify는 EA 및 지표의 디버깅, 추적, 모니터링을 간소화하도록 설계된 MQL용 로깅 라이브러리입니다. 로그 수준, 유연한 형식 및 여러 핸들러를 지원하여 차트나 터미널에서 직접 구조화되고 사용자 지정 가능하며 정리된 로그를 제공합니다. MQL 프로젝트에 쉽게 통합할 수 있는 가볍고 우아한 솔루션입니다.


📦 특징

  • 여러 로그 수준: 디버그, 정보, 경고, 오류, 치명적
  • 그래프, 터미널, 파일 또는 데이터베이스에 직접 로그 표시
  • 사용자 정의 가능한 로그 형식 및 레이아웃
  • 여러 핸들러가 있는 모듈식 아키텍처
  • 가볍고 간편한 통합 및 사용


🚀 설치

  1. Logify 폴더를 다음 주소로 복사하세요:
    MQL5/Include/
  2. EA, 인디케이터 또는 스크립트에 Logify 포함:
    #include <Logify/Logify.mqh>
  3. Git을 사용하여 설치할 수 있으며, 리포지토리에 액세스하여 단계를 따르기만 하면 됩니다.



🔧 빠른 시작 예제

기본 설정을 사용한 간단한 예제:

//+------------------------------------------------------------------+
//| 가져오기|
//+------------------------------------------------------------------+
#include <Logify/Logify.mqh>
CLogify Logify;
//+------------------------------------------------------------------+
//| 전문가 초기화 기능|
//+------------------------------------------------------------------+
int OnInit()
  {
   //--- 로그 예시
   Logify.Debug("Initialization started");
   Logify.Info("Account balance is OK");
   Logify.Alert("Take profit reached");
   Logify.Error("Failed to send order", "Order", "Reason: No money");
   Logify.Fatal("Critical error: Invalid input parameters");

  //---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+

사용자 지정 핸들러 설정이 포함된 고급 예제. 이 예에서는 로그 기록을 파일과 그래프 댓글에 저장합니다. 각각의 설정을 사용자 지정합니다.

//+------------------------------------------------------------------+
//| 가져오기|
//+------------------------------------------------------------------+
#include <Logify/Logify.mqh>
CLogify Logify;
//+------------------------------------------------------------------+
//| 전문가 초기화 기능|
//+------------------------------------------------------------------+
int OnInit()
  {
   //--- 주석 처리기 구성
   MqlLogifyHandleCommentConfig config_comment;
   config_comment.size = 10;
   config_comment.frame_style = LOG_FRAME_STYLE_SINGLE;
   config_comment.direction = LOG_DIRECTION_UP;
   config_comment.title = "My Expert";

   //--- 댓글 핸들러 생성 및 구성
   CLogifyHandlerComment *handler_comment = new CLogifyHandlerComment();
   handler_comment.SetConfig(config_comment);
   handler_comment.SetLevel(LOG_LEVEL_DEBUG);
   handler_comment.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg}","hh:mm:ss"));
   
   //--- 파일 핸들러 구성
   MqlLogifyHandleFileConfig file_config;
   file_config.CreateDateRotationConfig("my_expert","logs",LOG_FILE_EXTENSION_LOG,10,100,CP_UTF8);
   
   //--- 파일 핸들러 생성 및 구성
   CLogifyHandlerFile *handler_file = new CLogifyHandlerFile();
   handler_file.SetConfig(file_config);
   handler_file.SetLevel(LOG_LEVEL_DEBUG);
   handler_file.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg} ({filename} | {origin} | {function})","hh:mm:ss"));
   
   //--- 핸들러 첨부
   Logify.AddHandler(handler_comment);
   Logify.AddHandler(handler_file);

   //--- 로그 예시
   Logify.Debug("Initialization started");
   Logify.Info("Account balance is OK");
   Logify.Alert("Take profit reached");
   Logify.Error("Failed to send order", "Order", "Reason: No money");
   Logify.Fatal("Critical error: Invalid input parameters");
   
   //---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+

각 설정을 이해하려면 라이브러리 개발의 각 단계를 설명하는 아래 글을 읽어보시기 바랍니다:


✔️ 로그 수준

Level
설명
DEBUG
디버그에 대한 자세한 정보
INFO
일반 정보
ALERT
경고 또는 중요한 이벤트
ERROR
주의가 필요한 오류
치명적
치명적인 오류, 실행 중지


🖥️ 핸들러 포함

각 핸들러는 로그가 표시되거나 저장될 위치를 정의합니다.

핸들러
설명
Comment
그래프에 직접 로그를 표시합니다(댓글).
콘솔
메타트레이더 터미널에서 로그 표시
파일
.txt 또는 .log 파일에 로그 저장
데이터베이스 로그를 로컬 SQLite 데이터베이스에 저장

예를 들어 그래픽 + 파일 + 콘솔과 같이 하나를 사용하거나 여러 핸들러를 동시에 결합할 수 있습니다.


🛠️ 로그 형식

포맷 패턴의 예시입니다:

"{date_time} [{levelname}]: {msg}"

사용 가능한 토큰:

  • {레벨 이름}: 레벨 이름(디버그, 정보, 오류 등)
  • {msg}: 메인 메시지
  • {args}: 추가 인수 또는 세부 정보
  • {타임스탬프}: 타임스탬프(초)(유닉스 시간)
  • {날짜_시간}: 형식화된 날짜 및 시간(hh:mm:ss 등)
  • {레벨}: 레벨에 대한 숫자 코드(0 = DEBUG, 1 = INFO...)
  • {origin}: 로그 호출에 정의된 원본 또는 컨텍스트
  • {파일 이름}: 소스 파일 이름(사용 가능한 경우)
  • {함수}: 호출된 함수의 이름
  • {line}: 로그가 발생한 코드의 줄 번호


⚖️ 라이선스

MIT 라이선스 - 개인 및 상업용 프로젝트에 무료로 사용할 수 있습니다.


👨‍💻 저자

MQL 개발을 보다 전문적이고 체계적이며 효율적으로 만드는 데 중점을 두고 joaopedrodev가 개발했습니다.

MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/59821

양수 볼륨 지수 양수 볼륨 지수

양수 거래량 지수(PVI)는 거래량 증가를 유가증권의 가격 변동과 연관시킵니다.

히스토리로더 히스토리로더

쿼리 결과 처리와 함께 모든 기록 데이터에 대한 액세스를 구성하는 다중 통화 전문가 어드바이저 기능 모듈입니다.

Rsi Engulfing Bar V2 Rsi Engulfing Bar V2

Rsi 표시기

행렬 연산용 라이브러리 행렬 연산용 라이브러리

행렬 작업을 위한 라이브러리: 행렬 생성 및 행렬을 사용한 기본 연산(덧셈, 뺄셈, 곱셈, 반전)을 할 수 있습니다.