In this Loadrunner Tutorial, you will learn about lr_set_debug_message. By using lr_set_debug_message() function we can set the log options in the vuser script in the script itself without going to runtime setting.
In order to use this function we need to use lr_set_debug_message function before the code in Action() method and close as per requirement.
Let us see the following code format to understand it better. This is how we use this function inside action which can be shown as given below.
Action()
{
lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG, LR_SWITCH_ON);
——————————————————
——————————————————-
—————————————————–
lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG, LR_SWITCH_OFF);
return 0;
}
So, we can say that we can change the log level or message level for the script means output log will be generated based on the log level defined by this function
int lr_set_debug_message( unsigned int message_level_flag, unsigned int on_off );
Arguments
message_level_flag One of the Message Log Runtime Settings which we can be seen as, given below
on_off A switch to activate or deactivate message level setting. We use any one among On-Off Constants.It is just for enabling or disabling the log.
Let us see some of the settings available in runtime setting of LoadRunner , where we can see that there is option of disabling log, getting standard log or getting extended log , which will focus on particular type of log depending on type of log selected.We can clearly see that there are three types of extended log, which we use them depending on our requirement which is also given in the screenshot given below.
Let us see one example to understand it in better way, as given below.
Action()
{
//Declaring variable
int rc;
//Setting extended log with advanced resorption advance trace option which we can see in the screenshot above as well.
lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE, LR_SWITCH_ON );
//Saving value in parameter
lr_save_string(“1000”, “prmCounter”);
//Printing value of the parameter in the output log window of loadrunner
lr_output_message(“String value of prmCounter: %s”, lr_eval_string(“{prmCounter}”));
//Converting string value of the parameter to integer value and assigning lead to new variable assigning it to new variable rc
rc = atoi(lr_eval_string(“{prmCounter}”));
//Printing the value contained in the variable
lr_output_message(“Integer value of prmCounter: %d”, rc);
if (rc>2000)
//Printing dottrace message
Printing the trace map message in the output log window of loadrunner if condition satisfied is satisfied
lr_debug_message(LR_MSG_CLASS_FULL_TRACE, “Fetch failed returned %d”, rc);
//This is Bling disabling extended log with advance case trace
lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE, LR_SWITCH_OFF );
return 0;
}
Let us see the same code in LoadRunner window, in the form of screenshot given below.
Using the code given above, we have changed runtime setting, as given below in the form of a screenshot where Extended Log has been enabled and Advance Trace option is also enabled, which is available after extended log is selected.
We can clearly see the output of Advance Trace option of Extended Log which is given as below. Highlighted message in the output log window of LoadRunner (which is given as below) is full trace message generated by the code/ script
Output of the above executed program is given below.
Starting action Action.
Action.c(6): String value of prmCounter: 3000
Action.c(9): Integer value of prmCounter: 3000
Fetch failed returned 3000
Ending action Action.
Let us see another code given below to understand the concept in more better way. In this code, we are first getting current time setting through the function lr_get_debug_message, which has been done in LoadRunner and then from the script itself, we are changing the runtime setting and here we are disabling the log using the function lr_set_debug_message. Let us see the script as given below.
Action()
{
unsigned int n = lr_get_debug_message();
// get the current log level
lr_output_message(“The current level is %d”, n);
// this message is written to the log
lr_set_debug_message(n, LR_SWITCH_OFF);
// clear all flags
lr_set_debug_message(LR_MSG_CLASS_JIT_LOG_ON_ERROR, LR_SWITCH_ON);
// set the log level to JIT
lr_output_message(“This message will not appear in output log window of LoadRunner”);
lr_message(“%s”, “This message will not appear in output log window of LoadRunner”);
return 0;
}
We can see that this logging has been disabled in Runtime Setting, which we can see in in the screenshot given below
In the table given below. You can clearly see that the value for disabled log level is zero.
Log Level | Value | C Language Constants |
Diabled | 0 | LR_MSG_CLASS_DISABLE_LOG |
We can see above that log level of disabled logging is zero. Therefore we get the message in the output log that ” the current level is zero”. Output log is as given below. However, after execution of line number 5 which is printing the message as given below, logging has been disabled through code by use of this function which can be seen in line number 7 and after that no log is getting printed in the output log window of LoadRunner.
Action.c(5): The current level is 0
Now we will run the same code for different runtime settings where logging has been enabled and Standard log has been selected which can be seen in the screenshot given below.
In the table given below, we can clearly see that the value of the log level Brief or Standard log is one.
Log Level | Value | C Language Constants |
Brief | 1 | LR_MSG_CLASS_BRIEF_LOG |
We know that Standard log is called as Brief and has value 1. Therefore we are getting the output as “The current level is 1” which can be seen in the output given below. We can also see that no log is getting printed after logging is disabled by use of this function lr_set_debug_message in the code itself.
Starting action Action.
Action.c(5): The current level is 1
Let us execute the same code for different runtime setting where Extended log has been enabled as seen in the screenshot given below.
Log Level | Log Level Value | C Language Constant |
Extended Log | 16 | LR_MSG_CLASS_EXTENDED_LOG |
We can see that Extended log has value 16. So we are getting log message in the output stating that The current level is 16. Main thing to be noted here is that after we are printing current log status in runtime setting and after that, we are disabling the log through the function lr_set_debug_message and after log has been disabled, we are not getting any output log. This is what the function lr_set_debug_message is for. This function is used for setting of LoadRunner Runtime Setting through script. We can see the output as given below.
Action.c(5): The current level is 16
We can see the output in the form of a screenshot given below.
Overall, we can say that it is a very useful function which is used to change the Runtime Setting of LoadRunner without going to Runtime Setting Window of LoadRunner function. We can do all type of runtime setting using this function. We have to use this function wisely to get productive results during preparation of performance testing script in LoadRunner.
For more read all our Loadrunner Functions