Use Salesforce CLI to query logs generated for code extension runs and export them to a file. Logs are stored in the Data Lake Object (DLO) named DataCustomCodeLogs__dll, and you can query them like any other DLO. Salesforce CLI is useful when you want to read multiline messages, such as stack traces, or export results to a CSV file for offline analysis.
Edition Table
Available in: Developer, Enterprise, Performance, and Unlimited Editions. See Data 360 edition availability.
User Permissions Needed
To query code extension logs by using Salesforce CLI:
Latency: Logs typically appear within a few minutes after code execution. Allow up to about 10 minutes.
Message limits: The maximum log message length is 31,072 characters. Longer messages are truncated.
Readability: Multiline messages, such as stack traces, are easier to read in Salesforce CLI output or in an exported CSV file.
Steps to Query Code Extension Logs by Using Salesforce CLI
Understand the relevant fields of the DataCustomCodeLogs__dll DLO.
Field (API Name)
Description
Data type
EventId__c
DLO primary key for each log record
UUID
Timestamp__c
Log record timestamp
Datetime
Message__c
Your log message
Text
CorrelationId__c
Correlates your code extension logs to Data 360 internal logs
UUID
ExecutionId__c
Unique identifier for the code execution; multiple CorrelationId__c can share one execution
UUID
DataCustomCodeName__c
Code extension package name
Text
ProcessDefinitionName__c
Name of the batch data transform or search index that uses the code package
Text
UsedInFeature__c
Feature where the code is used, for example, batch data transform or search index
Text
OrgId__c
Org identifier
Text
Confirm that you’re signed in to your target org.
1sf org display --target-org<ORG_ALIAS>
Query the DataCustomCodeLogs__dll DLO with the sf data query command.
1sf data query --target-org<ORG_ALIAS>--query "SELECT Timestamp__c, DataCustomCodeName__c, Message__c, ExecutionId__c, EventId__c, CorrelationId__c FROM DataCustomCodeLogs__dll ORDER BY Timestamp__c DESC LIMIT 1000"
To export the results to a CSV file, add --result-format csv and redirect the output to a file. A CSV file preserves multiline messages, such as stack traces, in a readable format.
1sf data query --target-org<ORG_ALIAS>--query "SELECT Timestamp__c, DataCustomCodeName__c, Message__c, ExecutionId__c, EventId__c, CorrelationId__c FROM DataCustomCodeLogs__dll ORDER BY Timestamp__c DESC LIMIT 1000" --result-format csv>custom_code_logs.csv
Example Queries
Filter by transform (process) name.
1sf data query --target-org<ORG_ALIAS>--query "SELECT Timestamp__c, Message__c FROM DataCustomCodeLogs__dll WHERE ProcessDefinitionName__c = 'MyTransformName' ORDER BY Timestamp__c DESC LIMIT 100"
Filter by code extension package name.
1sf data query --target-org<ORG_ALIAS>--query "SELECT Timestamp__c, Message__c FROM DataCustomCodeLogs__dll WHERE DataCustomCodeName__c = 'my_custom_code' ORDER BY Timestamp__c DESC LIMIT 100"
Filter by execution ID.
1sf data query --target-org<ORG_ALIAS>--query "SELECT Timestamp__c, Message__c FROM DataCustomCodeLogs__dll WHERE ExecutionId__c = '00000000-0000-0000-0000-000000000000' ORDER BY Timestamp__c DESC"
Inspect Object Fields for config.json
You can also use Salesforce CLI to describe an object and list its fields. This capability is helpful when the target data model object (DMO) already exists and you’re building the output schema in your config.json. You can see the exact field names and types to include.
The sf sobject describe --json command returns the object’s complete metadata, which is lengthy. To show only each field’s name, type, and label, the examples pipe the output to jq, a command-line JSON processor. jq is a separate tool that isn’t included with Salesforce CLI. If you don’t have jq, run the command without the | jq ... part to see the full response.