- v1.x.x - This version is focused on troubleshooting analysis, requiring to extract Manage Package logs using Grant Salesforce Support login access where Users don't have credentials (username/password) for authentication. Workaround described bellow.
-
v.1.0.0: Download, format, transform and extract logs information
-
v.1.0.4: Comparing org records feature (--compare)
-
- Download and Install Node at: https://nodejs.org/
- Validate your version Node using
node -v
- Install the sfdl using NPM
npm install --global sfdl
config.json contains the information required for authentication purpose.
{
"authToken": "Bearer 00D2w00000FEDhn\u0021AQwAQDrHuK17Bs.Rh84C5iJHXgHbTC.LuRU381NpUY2t7XVdaTcKBtpxQFaTb3Mtjc76sDlkG649jGEuHZ7AN6OrX8WdFJdw",
"instanceUrl": "{yourinstance}.my.salesforce.com",
"compare": {
"authToken": "Bearer 00D1y0000000Mf4\u0021AQgAQDYJ9hpisnkZvCIRJoxKv4.XPyxCQYz4OxUTVrRZu2s6DEqDuWraGyKbCtALOIE0FcMO1Pxkl9lqFKZZaoQAUpRCW4IJ",
"instanceUrl": "https://{yourinstance}.my.salesforce.com",
"queries": [
{
"vlocity_cmt__TriggerSetup__c": {
"query": "SELECT Name, vlocity_cmt__isTriggerOn__c FROM vlocity_cmt__TriggerSetup__c ORDER BY Name",
"nameFields": "Name",
"valueFields": "vlocity_cmt__IsTriggerOn__c"
}
},
{
"vlocity_cmt__InterfaceImplementationDetail__c": {
"query": "SELECT vlocity_cmt__InterfaceId__r.Name, vlocity_cmt__IsActive__c FROM vlocity_cmt__InterfaceImplementationDetail__c ORDER BY vlocity_cmt__InterfaceId__r.Name",
"nameFields": "vlocity_cmt__InterfaceId__r.Name",
"valueFields": "vlocity_cmt__IsActive__c"
}
}
]
}
}
Notes:
- If this file is not added, each time you execute sfdl the authToken and the instanceUrl will be asked as inputs
- You can add as many query as objects you chan
-
Execute a query operation to get the cUrl request with the information required
-
Create the config.json file in your troubleshooting folder using the information from cUrl request
-
If you copy/paste the cUrl request in the config file as the image above, delete the cUrl request information and save the file with the proper JSON format
-
Execute
sfdl
in your troubleshooting directory where you configured the config.json file -
A new folder called ApexLogs will be created with all the existing logs in the org***
*** Check the options bellow to filter the logs to download using queryWhere
By default the information retrieved comes from SELECT Id FROM ApexLog
The options using --optionName
are:
Option Name | Description | Example | Default value |
---|---|---|---|
methodHierarchy OR -m | Nests information between METHOD_ENTRY with its METHOD_EXIT as well as CODE_UNIT_STARTED and CODE_UNIT_FINISHED |
sfdl --methodHierarchy OR sfdl --format | |
queryWhere OR -q | Allows you to enter a SOQL statements after the FROM ApexLog |
WHERE Operation != '<empty'> ORDER BY LastModifiedDate DESC | |
folderName OR -n | Allows you to enter the name of the folder where the logs will be saved |
NewLogs2022 | ApexLog |
debug OR -d | It will turn on logs from the module |
||
createDraftConfig | It will create config.json file | { "authToken":"", "instanceUrl": "" } |
|
clearFinest OR -c | It will remove all lines that contains HEAP_ALLOCATE and STATEMENT_EXECUTE | ||
format OR -f | It will display 3 options: 1) One file: Extract all query lines, 2) One file: Clear out HEAP_ALLOCATE and STATEMENT_EXECUTE, 3) All files in a folder: Clear out HEAP_ALLOCATE and STATEMENT_EXECUTE |
||
help | Additional information related to sfdl cli app | ||
version OR -v | current version sfdl installed in your system | ||
compare | It will use all the information from config to query and compare orgs records looking for differences and creating a file with them if exist |