Example: Debug Message Levels
The following example illustrates the use of the debug_message functions. The initial message level setting is lr.MSG_CLASS_BRIEF_LOG. After two calls to lr.set_debug_message, the setting is the ORed value of lr.MSG_CLASS_BRIEF_LOG, lr.MSG_CLASS_EXTENDED_LOG, and lr.MSG_CLASS_RESULT_DATA, which is 19.The values are retrieved for display with lr.get_debug_message. Then, lr.debug_message is called with several message level values to illustrate when there is output.
To help understand the example, refer to the table showing the decimal values of the message level constants and their bit masks.
Constant | Value | Mask |
---|---|---|
lr.MSG_CLASS_BRIEF_LOG | 1 | 00001 |
lr.MSG_CLASS_EXTENDED_LOG | 16 | 10000 |
lr.MSG_CLASS_PARAMETERS | 4 | 00100 |
lr.MSG_CLASS_RESULT_DATA | 2 | 00010 |
lr.MSG_CLASS_FULL_TRACE | 8 | 01000 |
lr.MSG_CLASS_RESULT_DATA | lr.MSG_CLASS_FULL_TRACE | 10 | 01010 |
lr.message "Initial Log level is " + CStr(lr.get_debug_message) ' Initial Log level is 1 lr.set_debug_message lr.MSG_CLASS_EXTENDED_LOG, 1 lr.message "Extended Log level is " + CStr(lr.get_debug_message) ' Extended Log level is 17 lr.set_debug_message lr.MSG_CLASS_EXTENDED_LOG Or lr.MSG_CLASS_RESULT_DATA , 1 lr.message "Extended with Results Log level is " + CStr(lr.get_debug_message) 'Extended with Results Log level is 19 ' Call to any function or API ' emulated with random number. ' Return code over 2000 means the call failed. Randomize rc = Rnd * 4000 lr.message "Return code = " + Cstr(rc) ' Return code = 3713.669 if (rc>2000) then lr.debug_message lr.MSG_CLASS_BRIEF_LOG , _ "Operation failed with basic logging." ' Output: Operation failed with basic logging. lr.debug_message lr.MSG_CLASS_EXTENDED_LOG, _ "Operation failed with extended logging." ' Output: Operation failed with extended logging. lr.debug_message lr.MSG_CLASS_PARAMETERS , _ "Operation failed with parameter substitution logging." ' --- No output. `lr.MSG_CLASS_PARAMETERS AND Current level: ` 00100 AND 10011 = 0 lr.debug_message lr.MSG_CLASS_RESULT_DATA , _ "Operation failed with result data logging." ' Output: Operation failed with result data logging. lr.debug_message lr.MSG_CLASS_FULL_TRACE , _ "Operation failed with full trace logging." ' --- No output `lr.MSG_CLASS_FULL_TRACE AND Current level: `01000 AND 10011 = 0 lr.debug_message lr.MSG_CLASS_RESULT_DATA Or _ lr.MSG_CLASS_FULL_TRACE , _ "Operation failed with either result data or full trace logging." ' Output: Operation failed with either result data or full trace logging. ` Full trace is not active, but Result data is, so this call outputs ` the message end if