CLI for filtering USER_DEBUG output from Salesforce Anonymous Apex execution logs
When executing Anonymous Apex using sfdx force:apex:execute
the logs contain a lot of debug information.
If you want to show only the output coming from System.debug()
this is the tool to use.
Unlike a simple grep '|USER_DEBUG|'
this supports multi-line messages.
Compare the following output from running System.debug('Hello World\nThis is a debug message.')
:
full | filtered |
Compiled successfully.
Executed successfully.
48.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO
Execute Anonymous: System.debug('Hello World\nThis is a debug message.');
04:25:21.21 (21632799)|EXECUTION_STARTED
04:25:21.21 (21650642)|CODE_UNIT_STARTED|[EXTERNAL]|execute_anonymous_apex
04:25:21.21 (22596799)|USER_DEBUG|[1]|DEBUG|Hello World
This is a debug message.
04:25:21.23 (23123489)|CUMULATIVE_LIMIT_USAGE
04:25:21.23 (23123489)|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 0 out of 100
Number of query rows: 0 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 0 out of 150
Number of DML rows: 0 out of 10000
Maximum CPU time: 0 out of 10000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 100
Number of Email Invocations: 0 out of 10
Number of future calls: 0 out of 50
Number of queueable jobs added to the queue: 0 out of 50
Number of Mobile Apex push calls: 0 out of 10
04:25:21.23 (23123489)|CUMULATIVE_LIMIT_USAGE_END
04:25:21.21 (23171269)|CODE_UNIT_FINISHED|execute_anonymous_apex
04:25:21.21 (25341413)|EXECUTION_FINISHED
|
Hello World!
This is a debug message.
|
$ npm install -g apex-log-filter
$ echo "System.debug(UserInfo.getUserName());" | sfdx force:apex:execute | apex-log-filter
john.doe@example.com
Sponsors
MIT © Matthias Rolke