Watch how to download trading robots for free
Find us on Telegram!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Libraries

CTsLogger - Simple and Flexible Logger - library for MetaTrader 5

Views:
504
Rating:
(3)
Published:
2025.04.11 08:54
MQL5 Freelance Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
CTsLogger is a simple and flexible logging system specifically designed for creating and debugging trading systems in MQL5. The main advantage of CTsLogger is the ability to temporarily enable debug mode for specific modules or code sections while maintaining a lower global logging level. This allows you to get detailed logging of specific code areas without "drowning" in a flood of messages, and then disable it with a single command.

Key Benefits

- Ease of Use: Minimal initialization and easy invocation of logging methods
- Debugging Flexibility: Ability to enable debug mode for individual modules even with a low global logging level
- Hierarchical Structure: Support for hierarchical module identifiers for logical organization
- State Management: Ability to pause and resume debug mode without losing settings
- Reliability: Continues to work even with file system errors (graceful degradation to terminal output)
- Minimal Dependencies: Works independently without requiring other components

Logging Levels

CTsLogger supports 4 logging levels, in order of increasing detail:
  1. LOG_LEVEL_ERROR - errors only
  2. LOG_LEVEL_WARNING - warnings and errors
  3. LOG_LEVEL_INFO - informational messages, warnings, and errors
  4. LOG_LEVEL_DEBUG - debug messages, informational messages, warnings, and errors

Complete API

Creation and Initialization

  • CTsLogger() - constructor
  • ~CTsLogger() - destructor
  • Initialize(string logFileName, bool logToTerminal = true) - logger initialization
  • SetGlobalLogLevel(ENUM_LOG_LEVEL level) - setting the global logging level


Logging Methods
  • Error(string moduleId, string message) - error logging
  • Warning(string moduleId, string message) - warning logging
  • Info(string moduleId, string message) - information message logging
  • Debug(string moduleId, string message) - debug message logging

Basic Debug Mode Control
  • EnableDebugMode(string moduleId) - enable debug mode for a module
  • DisableDebugMode(string moduleId) - disable debug mode for a module and all its child modules
  • IsInDebugMode(string moduleId) - check if debug mode is enabled
  • EnableDebugModeAll() - enable debug mode for all modules
  • DisableDebugModeAll() - disable global debug mode while preserving module settings

Advanced Debug Mode Control
  • PauseDebugMode() - temporarily pause debug mode for all modules
  • ResumeDebugMode() - resume debug mode for previously configured modules
  • IsDebugModePaused() - check if debug mode is paused
  • ResetDebugModules() - completely reset all debug modules
  • HasChildDebugModules(string parentModule) - check for child modules in debug mode

See CTsLogger-ReadMe.txt for more information.

Chande Kroll Stop Chande Kroll Stop

Chande Kroll Stop indicator - stop levels for short and long positions.

PriceChanges PriceChanges

changing character prices on an interval

Indiana Jones Mean Reversion EA Indiana Jones Mean Reversion EA

This is a simple mean reversion EA

Candle Signature Candle Signature

Candle Signature with Example | For Research and Development