Categories
Bizagi Tips and Tricks

Trace method

The ability to trace information in order to test your code is highly important. After many years of working with Bizagi, I have developed an quite interesting method of tracing the data.

All files are saved in the Trace folder and each case has its unique trace file. I don’t have to mention the usefulness of this approach because it’s quite obvious. Whenever you have to check something related to a particular case, you jump to the Trace folder and search using the case number.

GBL_Trace library rule

The first step is to create a new library rule. Because it’s going to be used all over the processes (in expressions) we must consider it a GLOBAL object. Using notation, I will add the GBL prefix to the name of the library rule. In our case, it will be GBL_Trace.

The library must have two input parameters (sRuleName, sMessage) and one output of type Boolean.

var sFileName, sLogText;
sFileName = "ML_Trace";
if ((Me.Case.CaseNumber == null) || (Me.Case.CaseNumber == ""))
{
	sFileName = "NoCaseNumber_" + Me.Case.Id.ToString();
}
else
{
	sFileName = Me.Case.CaseNumber;
}
//
sLogText = "Rule: " + sRuleName + "; ";
if (iLevel == 1) sLogText += " Information: ";
if (iLevel == 2) sLogText += " Warning: ";
if (iLevel == 3) sLogText += " Error: ";
sLogText += "Message: " + sMessage;
CHelper.trace(sFileName, sLogText);
return true;

The library is called as followed:

Global.GBL_Trace(Me,sRuleName,sMessage,1);