MetaTrader 5 / 程序库

CTsLogger - Simple and Flexible Logger - MetaTrader 5程序库

266
(4)
CTsLogger 是一个简单灵活的日志系统,专为在 MQL5 中创建和调试交易系统而设计。CTsLogger 的主要优点是能够为特定模块或代码段临时启用调试模式,同时保持较低的全局日志级别。这样,您就可以获得特定代码区域的详细日志记录,而不会 "淹没 "在大量信息中,然后只需一条命令即可将其禁用。

主要优点

- 易于使用:最小化初始化,轻松调用日志记录方法
- 调试灵活性:即使全局日志记录级别较低,也能为单个模块启用调试模式
- 分层结构:支持用于逻辑组织的分层模块标识符
- 状态管理 暂停和恢复调试模式时不会丢失设置
- 可靠性 即使文件系统出错也能继续工作(终端输出的优美降级)
- 最小依赖性:无需其他组件即可独立运行

日志级别

CTsLogger 支持 4 种日志级别,按详细程度依次递增:
  1. LOG_LEVEL_ERROR - 仅记录错误
  2. LOG_LEVEL_WARNING - 警告和错误
  3. LOG_LEVEL_INFO - 信息消息、警告和错误
  4. LOG_LEVEL_DEBUG - 调试消息、信息消息、警告和错误

完整的应用程序接口

创建和初始化

  • CTsLogger() - 构造函数
  • ~CTsLogger() - 析构函数
  • Initialize(string logFileName, bool logToTerminal = true) - 日志初始化
  • SetGlobalLogLevel(ENUM_LOG_LEVEL level) - 设置全局日志记录级别


日志记录方法
  • Error(string moduleId, string message) - 错误日志记录
  • Warning(string moduleId, string message) - 生成警告日志
  • Info(string moduleId, string message) - 信息消息日志记录
  • Debug(string moduleId, string message) - 调试信息记录

基本调试模式控制
  • EnableDebugMode(string moduleId) - 启用模块的调试模式
  • DisableDebugMode(string moduleId) - 禁用模块及其所有子模块的调试模式
  • IsInDebugMode(string moduleId) - 检查是否已启用调试模式
  • EnableDebugModeAll() - 为所有模块启用调试模式
  • DisableDebugModeAll() - 关闭全局调试模式,同时保留模块设置

高级调试模式控制
  • PauseDebugMode() - 暂时停止所有模块的调试模式
  • ResumeDebugMode() - 恢复先前配置模块的调试模式
  • IsDebugModePaused() - 检查调试模式是否暂停
  • ResetDebugModules() - 完全重置所有调试模块
  • HasChildDebugModules(string parentModule) - 检查是否有处于调试模式的子模块

更多信息,请参阅 CTsLogger-ReadMe.txt

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/58124