skip to main content
Administering Hybrid Data Pipeline : Data source logging : Setting data source logging levels
  

Try Now

Setting data source logging levels

There are two basic data source logging levels: logging level and privacy level. The logging level determines the level of detail to be included in the data source activity log, while the privacy level determines the type of information that gets logged. These logging levels apply to all data sources. Non-relational data sources, such as Salesforce and Oracle Eloqua, include additional loggers that, when enabled, pass information related to the internal SQL engine to the data source activity log. Data source logging levels can be set either via the Web UI or the Logging API.
Note: Enabling and increasing logging levels may adversely impact performance. Therefore, best practices recommend that logging levels be restored to their defaults once an issue has been resolved.
See the following sections for more information about data source logging levels and how to set them.
*Logging level
*Privacy level
*Driver loggers
*Setting data source logging levels via the Web UI
*Setting data source logging levels with the Logging API

Logging level

By default, logging level is set to CONFIG to track servlet and worker thread activity. This usually provides enough information to pinpoint an issue. The following table describes each of the valid settings for the logging level.
Setting
Description
SEVERE
Used to indicate system level problems that may require intervention.
WARNING
Possible severe situation, but problem probably averted.
INFO
Basic activity that probably always wants to be tracked.
CONFIG
Tracks servlet and worker thread activity.
FINE
Debug diagnostics.
FINER
Debug diagnostics. More verbose than FINE.
FINEST
Debug diagnostics. This is the most verbose mode.

Privacy level

By default, privacy level is set to AllowNone. This is the most restrictive setting where neither user data nor SQL statements are logged. The following table describes each of the valid settings for the privacy level.
Setting
Description
AllowNone
This is the most restrictive level. Here neither user data nor SQL statements are logged.
AllowSQL
This level allows the logging of SQL statements, but not input parameter values or result set column data.
AllowData
This is the least restrictive level. It allows SQL statements and any data values to be logged.

Driver loggers

In addition to logging and privacy levels, driver loggers are available for non-relational data sources. These loggers are disabled by default. They can be enabled by setting a level of granularity from SEVERE to FINEST. When these loggers are enabled, information related to the internal SQL engine is passed to the data source activity log. This information can be useful in pinpointing and resolving issues. The following table describes the loggers available for non-relational data sources, such as Salesforce and Oracle Eloqua.
Note: Driver loggers are not available for standard relational data sources such as DB2, SQL Server, and Oracle.
Logger
Description
SQL
Logs events associated with how the embedded SQL engine interacts with the data store and application.
Cloud
Logs JDBC spy calls to troubleshoot JDBC interactions between the connectivity service and the data store.
Driver Communication
Logs events associated with the JDBC calls made into the embedded SQL engine.
Adapter
Logs events related to how the connectivity service communicates with the data store in question.

Setting data source logging levels via the Web UI

Either set of the following permissions are required to set logging levels through the Web UI.
*Administrator (12) permission
*WebUI (8) permission, Logging (24) permission, and administrative access on the tenant to which the users and data sources belong
Take the following steps to set logging levels via the Web UI.
1. Navigate to the Data Sources view by clicking the data sources icon .
2. For multitenant environments, select the tenant to which the user and data source belong.
3. Select the user who owns the data source.
4. Click the logging configurations icon next to the data source for which you are configuring logging.
The Logging Settings page is displayed.
5. Set Logging Level and Privacy Level to desired level.
6. For non-relational data sources, enable driver loggers by setting the loggers to the desired level of granularity.
7. Click Save.

Setting data source logging levels with the Logging API

Either set of the following permissions are required to set logging levels through the Logging API.
*Administrator (12) permission
*Logging (24) permission and administrative access on the tenant to which the users and data sources belong
Retrieve a user's data sources
To retrieve the logging levels on a data source, the data source ID must be specified as a URL parameter. If you don't know the data source ID, you can execute the following GET operation to retrieve a list of data sources for a user. In this example, the number 9 is the user ID. The response payload follows the operation.
GET https://MyServer:8443/api/admin/users/9/datasources
{
"dataSources": [
{
"id": 51,
"name": "SF_test_ds_1",
"dataStore": 1,
"isGroup": false,
"description": ""
},
{
"id": 52,
"name": "SF_test_ds_2",
"dataStore": 1,
"isGroup": false,
"description": ""
},
{
"id": 53,
"name": "SF_test_ds_1",
"dataStore": 1,
"isGroup": false,
"description": ""
}
]
}
Retrieve the logging levels of a data source
You can now use the data source ID from the response payload to retrieve the logging configurations for the data source. The GET operation used to retrieve data source logging levels requires that you pass the user ID (9) and data source ID (51) as URL parameters, as in the following example. The response payload follows.
GET https://MyServer:8443/api/admin/users/9/datasources/51/logging
{
"dasLogLevel": "CONFIG",
"privacyLevel": "AllowNone",
"driverLogConfig": [
{
"name": "ADAPTER",
"logLevel": "OFF"
},
{
"name": "CLOUD",
"logLevel": "OFF"
},
{
"name": "DRIVERCOMMUNICATION",
"logLevel": "OFF"
},
{
"name": "SQL",
"logLevel": "OFF"
}
]
}
Update the logging levels of a data source
An UPDATE operation can now be executed against the same endpoint to configure logging on the data source. As shown in the following example, a corresponding request payload provides the required configuration information.
PUT https://MyServer:8443/api/admin/users/9/datasources/51/logging
{
"dasLogLevel": "CONFIG",
"privacyLevel": "AllowSQL",
"driverLogConfig": [
{
"name": "ADAPTER",
"logLevel": "SEVERE"
},
{
"name": "CLOUD",
"logLevel": "SEVERE"
},
{
"name": "DRIVERCOMMUNICATION",
"logLevel": "SEVERE"
},
{
"name": "SQL",
"logLevel": "SEVERE"
}
]
}