iLogic Troubleshooting & Debugging

Anyone that has spent any time in iLogic has spent a proportionate amount of time trying to understand why a certain rule is failing, why something in the model or drawing isn’t behaving as you expect it to or why the rule is working in the first place. But did you know that iLogic has a built-in logger to help figure these things out?

iLogic Troubleshooting & Debugging

To configure the Logger, the first thing we need to do is open the logger window, this can be found by clicking the + next to our iLogic Browser.

This gives us a new blank window that will be used to see what our rules are doing. I prefer to have it undocked so I can see what the rules are doing in real-time.

The next step will be choosing the level of logging that we want our Logger to do. For this step, we can choose the level in two places. The first place is the iLogic Configuration which can be found under Tools-Options (Click the arrowhead under Application Options)

From there, you can select from a list of Logger options.

The second location you can make the same change is inside the Rule Editor itself in the bottom corner.

For this example, we’re going to use the Trace level, with Detailed Trace active.

Trace gives you a full breakdown of what a rule is doing, which parameter change triggers it to run as well as any information we add to the rule that we want to see in the logger.

In my example assembly of a basic frame, I have two rules. One is Frame_Size_Rule which controls the size of the frame and the frame member profiles, while the second rule Extras_Rule controls the miscellaneous options incorporated in the frame.

If I change the parameter “Frame_Size” in the form, the Logger on the right will detail what happens.

The TRACE|Trigger line close to the top informs me which parameter changed and caused the rule to run. We can see It was the Frame_Size parameter changing to “50 x 50 x 3”. The Trace detail shows each rule that is affected by that change running as well as some manually requested information.

By adding the line Logger.trace(“”) I can get the logger to detail information that I would want to see, either just a line letting me know it's started the rule, or what size it's changing to. Using quotation marks requires a string that will log a string.

We have the option of using a parameter instead, which would return the value of that parameter at the time we call it up in the rule.

This gives you the ability to track exactly what a rule is doing and makes it possible to find exactly where it's failing, or if your rule is returning incorrect results, you can track the parameter values and pinpoint where the issue comes in.

If you’ve had iLogic training in the past, from 2019 onwards there have been significant changes to the way iLogic works and I highly recommend getting in touch with us to get your iLogic knowledge up to date. Symetri has Virtual Training Solutions to suit your needs, whether it’s a complete overhaul of what you learned or something more tailored, take a look at our iLogic training courses.

If you would like to learn more about iLogic take a look at our on-demand webinar - Introduction to iLogic