Verbose logging for connectors using Jitterbit private agents
Introduction
Connector verbose logging can help to troubleshoot issues with certain Integration Studio connectors when used with private agents.
Important
You should enable verbose logging only when directed by Jitterbit support.
For connectors that support connector verbose logging, the specific verbose logging connector name to use is described in each connector's documentation.
Enable verbose logging
Verbose logging is not enabled by default. To enable it, you must log into all private agent hosts in the group, edit a file, and restart all agents. The file to be edited depends on the version of the private agent :
Tip
You can find a private agent's version on the Management Console Agents page.
Agent version 10.70 / 11.8 and later: Edit logback.xml
To enable verbose logging on private agents version 10.70 or 11.8 and later, follow these steps:
-
Make a backup copy of the following file:
/opt/jitterbit/tomcat/shared/lib/logback.xml
C:\Program Files\Jitterbit Agent\tomcat\shared\lib\logback.xml
-
Edit the logback file, and find the following lines:
. . . <logger name="org.springframework" level="WARN"/> <logger name="org.hibernate.engine.jdbc.internal.JdbcResourceRegistryImpl" level="ERROR"/> . . .
-
To configure the log level, add one of the following, depending on the connector, inside the
<configuration>
element, settingCONNECTOR_NAME
to the connector's verbose logging name, andLEVEL
to the Java logging level string:<logger name="org.jitterbit.connector.CONNECTOR_NAME" level="LEVEL"/>
<logger name="org.jitterbit.connector.verbose.logging.CONNECTOR_NAME" level="LEVEL"/>
Example
For the Workday Prism Analytics connector, its verbose logging name is
workdayprismanalytics
(found in the Workday Prism Analytics connector documentation):Example for Workday Prism Analytics. . . <logger name="org.springframework" level="WARN"/> <logger name="org.hibernate.engine.jdbc.internal.JdbcResourceRegistryImpl" level="ERROR"/> <logger name="org.jitterbit.connector.verbose.logging.workdayprismanalytics" level="DEBUG"/> . . .
-
(Optional) Add additional lines for other connectors.
-
Save the file and restart the Linux or Windows private agent.
Tip
When upgrading from an agent version that is at least 10.35, to keep existing verbose logging entries, you can copy the file from its existing location to the new location.
Agent version 10.35 to 10.69 / 11.7: Edit logback.xml
To enable verbose logging on private agents version 10.35 to 10.69, or version 11.7, follow these steps:
-
Make a backup copy of the following file:
/opt/jitterbit/tomcat/webapps/axis/WEB-INF/lib/logback.xml
C:\Program Files\Jitterbit Agent\tomcat\webapps\axis\WEB-INF\lib\logback.xml
-
Edit the logback file, and find the following lines:
. . . <logger name="org.springframework" level="WARN"/> <logger name="org.hibernate.engine.jdbc.internal.JdbcResourceRegistryImpl" level="ERROR"/> . . .
-
To configure the log level, add one of the following, depending on the connector, inside the
<configuration>
element, settingCONNECTOR_NAME
to the connector's verbose logging name, andLEVEL
to the Java logging level string:<logger name="org.jitterbit.connector.CONNECTOR_NAME" level=LEVEL"/>
<logger name="org.jitterbit.connector.verbose.logging.CONNECTOR_NAME" level="LEVEL"/>
Example
For the Workday Prism Analytics connector, its verbose logging name is
workdayprismanalytics
(found in the Workday Prism Analytics connector documentation):Example for Workday Prism Analytics. . . <logger name="org.springframework" level="WARN"/> <logger name="org.hibernate.engine.jdbc.internal.JdbcResourceRegistryImpl" level="ERROR"/> <logger name="org.jitterbit.connector.verbose.logging.workdayprismanalytics" level="DEBUG"/> . . .
-
(Optional) Add additional lines for other connectors.
-
Save the file and restart the Linux or Windows private agent.
Agent version 10.34 and earlier: edit log4j.properties
To enable verbose logging on private agents version 10.34 and earlier, follow these steps:
-
Make a backup copy of the following file:
/opt/jitterbit/tomcat/webapps/axis/WEB-INF/lib/log4j.properties
C:\Program Files\Jitterbit Agent\tomcat\webapps\axis\WEB-INF\lib\log4j.properties
-
Edit the file, and find the following lines:
. . . log4j.logger.org.springframework=WARN log4j.logger.org.hibernate.engine.jdbc.internal.JdbcResourceRegistryImpl=ERROR # Debug options can be turned on by uncommenting these lines # . . .
-
To configure the log level, add one of the following, depending on the connector, just before the line starting with
# Debug
, settingCONNECTOR_NAME
to the connector's verbose logging name, andLEVEL
to the Java logging level string:log4j.logger.org.jitterbit.connector.CONNECTOR_NAME=LEVEL
log4j.logger.org.jitterbit.connector.verbose.logging.CONNECTOR_NAME=LEVEL
Example
Using the Workday Prism Analytics connector as an example, its verbose logging name is
workdayprismanalytics
(found in the Workday Prism Analytics connector documentation). This should then be the property file snippet:. . . log4j.logger.org.springframework=WARN log4j.logger.org.hibernate.engine.jdbc.internal.JdbcResourceRegistryImpl=ERROR log4j.logger.org.jitterbit.connector.verbose.logging.workdayprismanalytics=DEBUG # Debug options can be turned on by uncommenting these lines # . . .
-
(Optional) Add additional lines for other connectors.
-
Save the file and restart the Linux or Windows private agent.
Disable verbose logging
To disable verbose logging, edit the logback.xml
or log4j.properties
file corresponding to the private agent version, set all levels to OFF
, then restart the agent.
View verbose logs
When verbose logging is enabled, entries are written to the jitterbit-axis.log
file. Open the log file in an editor to view the entries. The log file is saved in these locations, depending on the operating system and agent version:
/opt/jitterbit/log/jitterbit-axis.log
C:\Program Files\Jitterbit Agent\log\jitterbit-axis.log
To find entries, search for the terms INFO
, DEBUG
, or VerboseLogger
in the file. Entries may include messaging, schemas, and other information that can be used when debugging. An excerpt is shown here:
2020-12-07 15:06:31,445 +0530 http-nio-127.0.0.1-46912-exec-9 DEBUG org.jitterbit.connector.verbose.logging.epicorerp.VerboseLogger:22 - org.jitterbit.connector.epicor.EpicorClient.PATCH, msg: {"method: ":"PATCH","headers: ":"Authorization: Basic bWFuYWdlcjomd1I3aWk1IQ==\nkeep-alive: true\n","URI: ":"https://sample.developer.epicor.com/%2Fserver%2Fapi%2Fv1/BaqSvc/PartsAdvancedBPM","requestPayload: ":"{\"Part_Company\":\"EPIC01\",\"SysRowID\":\"470bf6e7-cba1-4a7b-6ee7-a33b015c3cbc\",\"Part_PartNum\":\"001_MPCons\",\"Part_UserDecimal1\":\"0\"}"}
2020-12-07 15:06:31,742 +0530 http-nio-127.0.0.1-46912-exec-9 DEBUG org.jitterbit.connector.verbose.logging.epicorerp.VerboseLogger:22 - org.jitterbit.epicor.adapter.common.CommonResponseGenerator.statusCode, msg: 200
2020-12-07 15:06:31,742 +0530 http-nio-127.0.0.1-46912-exec-9 DEBUG org.jitterbit.connector.verbose.logging.epicorerp.VerboseLogger:22 - org.jitterbit.epicor.adapter.common.CommonResponseGenerator.responsePayload, msg: {
"odata.metadata":"https://sample.developer.epicor.com/server/api/v1/BaqSvc/PartsAdvancedBPM/$metadata#Epicor.DynamicQuery.QueryResults","value":[
{
"Part_Company":"EPIC06","Part_PartNum":"001_MPCons","Part_UserChar1":"","Part_UserDecimal1":"0","RowMod":"","RowIdent":"38ca34b4-2440-4d3d-ac3b-177b610f01ac","SysRowID":"470bf6e7-cba1-4a7b-6ee7-a33b015c3cbc"
}
]
}
Additional log information
Connectors using the org.jitterbit.connector.<connector_name>
verbose logging name format include certain information in the log file when set to the DEBUG
logging level:
-
HTTP Calls: HTTP calls from the connector.
- URL: The URL associated with the call including any query and path parameters if present.
- Request Headers: Request headers associated with the call. For security purposes, headers that contain certain information, such as that passed in an authorization header, will have their values masked with asterisks.
- Response Headers: Response headers associated with the call.
- HTTP Method: The HTTP method associated with the call, one of
HEAD
,GET
,POST
,PUT
,PATCH
,DELETE
,OPTIONS
,CONNECT
, orTRACE
. - Response Time: The response time of the call in milliseconds.
- Request Body: The request body associated with the call if present.
- Response Body: The response body associated with the call if present.
- HTTP Status Code: The HTTP status code associated with the call.
-
Troubleshooting Messages: Additional log messages to help with troubleshooting connector issues.
Log messages will also include the Harmony organization ID and environment ID associated with the project as orgId
and envId
respectively:
2023-05-07 18:13:42 http-nio-127.0.0.1-46912-exec-6 DEBUG org.jitterbit.connector.<connector_name>.Connection:80 [orgId:-][envId:100000] - Closing connection
2023-05-07 18:13:42 http-nio-127.0.0.1-46912-exec-6 DEBUG org.jitterbit.connector.<connector_name>.client.Client:80 [orgId:-][envId:100000] - Connection is closing...
Note
It is possible for log messages to contain an undefined organization ID ([orgId:-]
) if messages are logged outside of operation runtime. For example, when testing a connector's connection configuration.