– Ankush Kumar, Lead Software Engineer @ Adobe
In Debugging LiveCycle – Working with logs (part 1), we covered how to handle logs at application server level. In this blog, we will cover a few areas where we can fine tune the logging in applications itself.
As you might have noticed LCM logs are found at <LiveCycle Installation Location>/configurationManager/log. Default logging level of this is INFO. This is governed by properties file kept inside adobe-lcm.jar: \com\adobe\livecycle\lcm\logging\log.properties.
Using this property file, you can:
- Change Logging Level
- Define file location and file name.
- Define rotation policy
If you want to overwrite the default location of this file to a more convenient location, you can do so by modifying <LiveCycle Installation Location>/configurationManager/bin/ConfigurationManager.bat and specifying following system property:
-Djava.util.logging.config.file=<path to file>
Generating ORB Trace
While working with natives like XMLForms, you can sometimes run into issues where an application abnormally terminates. Following parameters help in generating extra trace information for debugging such issues.
These are required to be placed as argument to the native application:
-ORBtraceLevel 25 -ORBtraceThreadId 1 -ORBtraceInvocations 1 -ORBtraceInvocationReturns 1 -ORBtraceTime 1 –ORBtraceFile <Path to log file>
Also, when we are debugging an issue related to native applications, in System Out logs we can find system natives being invoked and a large IOR is passed to them as input. This IOR can be analyzed by many easily available IOR parsers. (Just Google for them). This can be first step towards debugging natives related problem.
In order to better understand and debug an orchestration, LiveCycle offers excellent process debug feature. Using workbench, one can easily trace every step of a process and find what exact values any variable hold. For more information, one can refer this blog.
But sometimes this gets difficult due to environment constraints and performance overheads. One may want to introduce a step which will log current state of all variables in either System Out log or the log of your choice.
This can be accomplished using Variable Logger service. One can introduce this while designing the orchestration. Now each time the orchestration runs, the values of variables will be logged as the step is executed.
Other Application Logging Locations
Content Services and CMSA Logs
Content Services and CMSA logs are created in working directory of the application server.
LiveCycle Installer Logs
Installer logs can be found in following two locations
- <LiveCycle Installation Home>
- <LiveCycle Installation Home>/logs
Service Pack Logs
Service pack logs can be found at <LiveCycle Installation Home>/patch/<Patch Name>/log
CRX and Correspondence Management Logs
From ES3 onwards, you will find CRX and CM logs at <CRX Repository Directory>/logs. (More on this will be covered in next part of blogs)
PDFG Configuration Logs
- PDFG System Readiness Testing Logs: <LiveCycle Installation Home>/pdfg_srt/reports
- PDFG Config Logs: <LiveCycle Installation Home>/logs