144 lines
3.6 KiB
Markdown
144 lines
3.6 KiB
Markdown
# XCAlert
|
|
|
|
it is a module which used for Providing Logs in SaherElm's XTrade Framework.
|
|
|
|
## Dependencies
|
|
|
|
this Module used XCDataCollector for Saving Logs in Files.
|
|
|
|
## Instancing
|
|
|
|
using this syntax for instancing :
|
|
|
|
```mql5
|
|
XCAlert(
|
|
string prefix = "X-Alert", // Alerts Prefixe
|
|
bool enableAlerts = true, // Enable Alerts
|
|
bool logAlerts = true, // Log Alerts
|
|
bool terminalAlerts = false, // Terminal Alerts
|
|
bool mailAlerts = false, // Mail Alerts
|
|
bool pushAlerts = false, // Push Alerts
|
|
bool saveAlerts = false // Save Alerts
|
|
) {}
|
|
```
|
|
|
|
all of Constructor Input args is Optional, means have default values.
|
|
you can set them after instancing using Properties Setter/Getter (s).
|
|
|
|
## Instructions
|
|
|
|
- Prefix: string, Specified Logger Prefix. this for Separate Different Logger Instances.
|
|
- EnableAlerts: boolean, Specified Logging is Enabled or not.
|
|
- SaveAlerts: boolean, Specified Saving Log(s) or not.
|
|
- LogAlerts: boolean, Specified Can Print Logs on Console or not.
|
|
- TerminalAlerts: boolean, Specified Send Logs in Terminal or not.
|
|
- MailAlerts: boolean, Specified Send Logs as Mail or not.
|
|
- PushAlerts: boolean, Specified Send Logs as Push or not.
|
|
|
|
## Actions
|
|
|
|
### LogAlert(string message)
|
|
|
|
do specified type of Logs.
|
|
do log by Print in Console.
|
|
|
|
### TerminalAlert(string message)
|
|
|
|
do specified type of Logs.
|
|
do log by sending Terminal Alert.
|
|
|
|
### MailAlert(string message)
|
|
|
|
do specified type of Logs.
|
|
do log by sending Mail Alert.
|
|
|
|
### PushAlert(string message)
|
|
|
|
do specified type of Logs.
|
|
do log by sending Push Notification Alert.
|
|
|
|
### SendAlert(string message)
|
|
|
|
do sending log by configuration.
|
|
retrieve log and based on configuration send each specified enabled logs separately.
|
|
|
|
### Log(string message)
|
|
|
|
Checking Log Flag and Print Message.
|
|
|
|
### Log(string tag, string message)
|
|
|
|
Checking Log Flag and Print Specified Tag & Message.
|
|
|
|
### LogEmpty()
|
|
|
|
Checking Log Flag and Print Empty Message.
|
|
|
|
### LogArray(T &array[], string label = NULL)
|
|
|
|
Checking Log Flag and Print Array.
|
|
|
|
### LogError(int error = -1)
|
|
|
|
Checking Log Flag and then Generate Error Message based on provided error number,
|
|
then Print Tag Specified Message.
|
|
|
|
### string GetErrorDescription(int err_code)
|
|
|
|
Generate Specified Error Messaged based on Provided error code.
|
|
|
|
### string GetTradeServerReturnCodeDescription(int return_code)
|
|
|
|
Generate Specified Error Message based on Provided server error code.
|
|
|
|
### bool CanLog()
|
|
|
|
protected
|
|
return a Flag for Specified Flag which allowed Print Logs or not.
|
|
|
|
### bool CanLogAlert()
|
|
|
|
protected
|
|
return a Flag for Specified Flag which allowed Print Logs and also Enabled or not.
|
|
|
|
### bool CanTerminalAlert()
|
|
|
|
protected
|
|
return a Flag for Specified Flag which allowed Sending Logs to Terminal and also Enabled or not.
|
|
|
|
### bool CanMailAlert()
|
|
|
|
protected
|
|
return a Flag for Specified Flag which allowed Sending Logs as Mail and also Enabled or not.
|
|
|
|
### bool CanPushAlert()
|
|
|
|
protected
|
|
return a Flag for Speified Flag which allowed Sending Logs as Push and also Enabled or not.
|
|
|
|
### Save(string message)
|
|
|
|
protected
|
|
Saving Specified Message into Logger File. if alert Saving is Enabled.
|
|
|
|
#### Descriptions
|
|
|
|
- Preparing a File Name by Combining setted Prefix + ".XLogs".
|
|
- Generating File Path based on XCDataCollector instance Path.
|
|
- Validate Generated filePath.
|
|
- Preparing Log Message for Saving in Log File by attaching Current Time.
|
|
- Append prepared Message to Log File using XCDataCollector instance.
|
|
|
|
### string PrepareMessage(string message)
|
|
|
|
private
|
|
Replace Escaped strings and Attach Prefix to Message.
|
|
|
|
## Maintainer
|
|
|
|
Hadi Khazaee asl
|
|
|
|
[https://www.saherelm.ir](https://www.saherelm.ir)
|
|
|
|
[hadi_khazaee_asl@yahoo.com](mailto:hadi_khazaee_asl@yahoo.com)
|