Debugging LiveCycle workflows can be tricky. This document gives a short introduction to some of the techniques that we find useful.
Variable Logger
User a VariableLogger at various steps in your process to find out the real values of your process variables.
Println
Use the Script component, with the following code, so that you at least know where your process has gotten to:
System.out.println("Yay, my process has gotten to step 12");
Database
If you're using a long-lived process, the values of all your process variables are stored in the database. Use a database query tool to go any find the values of your variables.
You can even change the values of variables, and continue your process. But be careful that you don't corrupt anything.
The table name is: tb_pt_<Your process name with punctuation and spaces removed>
Bypass routes, Start node
Sometimes the bit of the process you want to test is the 47-th step of the process. You don't really want to have to go through 7 approval steps, just to get to the part of the process where you're flattening the form.
An easy way to avoid this is to temporarily put in a "bypass" route, that skips all the approval steps, and fast-tracks your process directly to the bit you're having problems. Another way is to temporarily set the start-node to a node further along the process.
Logging Levels
You can bump up the Log4J logging levels in the application server log files to get extra information on what's going wrong.
In JBoss/Windows, the log4J file is found at: C:\Adobe\LiveCycle8\jboss\server\all\conf\log4j.xml
To bump up the default logging level, locate the following section:
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>
<param name="Threshold" value="INFO"/>
and change the Threshold value from INFO to DEBUG, as follows:
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>
<param name="Threshold" value="DEBUG"/>
This will create quite verbose logging. You may want to use a tool like BareTail or BareTailPro to help find the offending problems.
You may also want to limit the logging on some of the more verbose or uninteresting areas, by tweaking the categories, like this:
<!-- Limit JBoss categories -->
<category name="org.jboss">
<priority value="INFO"/>
</category>
tb_pt_<Your process name with punctuation and spaces removed> - We are not able to locate this table. But we are able to see some tables like tb_123, tb_124, etc...
What could be the problem?
Kamal Aanand