Troubleshooting
The LumisXP provides a mechanism to assist in understanding and solving REST endpoint issues.
To achieve this, a system property is provided that:
- Enables the Jersey log with verbosity PAYLOAD_TEXT (default value).
- Enables Jersey's tracing support in an on-demand (ON_DEMAND) manner.
To enable this option in LumisXP and direct the log output to a specific file (to assist in analysis), you need to follow these steps:
Pass the system property during the application server startup
The following system property should be configured with the given value for the application:
Property | Value |
---|---|
lumis.portal.rest.enableTrace |
true |
For example, this property could be passed in the Java command line as follows:
-Dlumis.portal.rest.enableTrace=true
.The exact way to do this should, however, follow the recommendations of the application server used.
Enable tracing on desired calls
With the configuration made in the previous steps, Jersey will log calls to the REST endpoints but without much
information.
If you wish to increase the level of information, you can enable tracing for each call.
This should be done per call, using specific Jersey HTTP headers, as follows:
-
X-Jersey-Tracing-Accept
-
Enables tracing for the request.
This header can have any value. -
X-Jersey-Tracing-Threshold
-
Defines the level of tracing that the request will have. It can take one of the following values:
SUMMARY
- Reduces the amount of information in the tracing.
TRACE
(default value)- Standard amount of tracing information.
VERBOSE
- Increases the amount of tracing information.
As an example, consider the following request: curl -X POST -v -H "X-Jersey-Tracing-Accept: 1" "http://myserver/lumis/api/rest/lumlogin?username=admin"
.
This request adds the header X-Jersey-Tracing-Accept
to enable tracing. This request
produces response headers indicating the tracing information:
In addition, this tracing information is logged in the file lumisdata/log/lumis/rest-troubleshooting/lumis-rest-troubleshooting.log
.
Now, let’s look at the following request: curl -X POST -v -H "X-Jersey-Tracing-Accept: 1" -H "X-Jersey-Tracing-Threshold: VERBOSE" "http://myserver/lumis/api/rest/lumlogin?username=admin"
.
This request adds, in addition to the X-Jersey-Tracing-Accept
header, the X-Jersey-Tracing-Threshold
header with the value VERBOSE
.
This header causes Jersey to increase the information contained in the tracing.
This request produces response headers indicating the tracing information (in addition to these information being present in the log, also):
Log Output
Once both steps have been carried out, you can check the log entries in the file lumisdata/log/lumis/rest/lumis-rest.log
.
```