Setting data source logging levels
- Last Updated: June 4, 2024
- 4 minute read
- Hybrid Data Pipeline
- Version 5.0
- Documentation
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 logs, 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 data source logs. Data source logging levels can be set either via the Web UI or the Logging API.
See the following sections for more information about data source logging levels and how to set them.
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 |
Tracks basic activity. |
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 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.
| 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.
- Navigate to the Data Sources view by
clicking the data sources icon
. - For multitenant environments, select the tenant to which the user and data source belong.
- Select the user who owns the data source.
- Click the logging configurations
icon next to the data source for which
you are configuring logging.The Logging Settings page is displayed.
- Set Logging Level and Privacy Level to desired level.
- For non-relational data sources, enable driver loggers by setting the loggers to the desired level of granularity.
- 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"
}
]
}