Saltar al contenido

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:

  1. 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

  2. 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"/>
    . . .
    
  3. To configure the log level, add one of the following, depending on the connector, inside the <configuration> element, setting CONNECTOR_NAME to the connector's verbose logging name, and LEVEL 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"/>
    . . .
    
  4. (Optional) Add additional lines for other connectors.

  5. 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:

  1. 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

  2. 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"/>
    . . .
    
  3. To configure the log level, add one of the following, depending on the connector, inside the <configuration> element, setting CONNECTOR_NAME to the connector's verbose logging name, and LEVEL 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"/>
    . . .
    
  4. (Optional) Add additional lines for other connectors.

  5. 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:

  1. 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

  2. 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
    # . . .
    
  3. To configure the log level, add one of the following, depending on the connector, just before the line starting with # Debug, setting CONNECTOR_NAME to the connector's verbose logging name, and LEVEL 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
    # . . .
    
  4. (Optional) Add additional lines for other connectors.

  5. 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, or TRACE.
    • 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.