diff options
author | Christopher Hiller <boneskull@boneskull.com> | 2019-07-10 13:27:44 -0700 |
---|---|---|
committer | Christopher Hiller <boneskull@boneskull.com> | 2019-07-12 14:48:09 -0700 |
commit | bff7a46f31f1da259071a1f4bd51aca726d5926e (patch) | |
tree | 16b62a84d9cc3ad1b5893bbb1d7039df066557ea /doc/api/report.md | |
parent | 28e18cfff0d491e14889935a64395cbbb5b666a6 (diff) | |
download | android-node-v8-bff7a46f31f1da259071a1f4bd51aca726d5926e.tar.gz android-node-v8-bff7a46f31f1da259071a1f4bd51aca726d5926e.tar.bz2 android-node-v8-bff7a46f31f1da259071a1f4bd51aca726d5926e.zip |
report: modify getReport() to return an Object
It's likely that anyone using `process.report.getReport()` will be
processing the return value thereafter (e.g., filtering fields or
redacting secrets). This change eliminates boilerplate by calling
`JSON.parse()` on the return value.
Also modified the `validateContent()` and `validate()` test helpers in
`test/common/report.js` to be somewhat more obvious and helpful. Of
note, a report failing validation will now be easier (though still not
_easy_) to read when prepended to the stack trace.
- Refs: https://github.com/nodejs/diagnostics/issues/315
PR-URL: https://github.com/nodejs/node/pull/28630
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'doc/api/report.md')
-rw-r--r-- | doc/api/report.md | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/api/report.md b/doc/api/report.md index 268caf6416..08a0f602ab 100644 --- a/doc/api/report.md +++ b/doc/api/report.md @@ -463,12 +463,15 @@ try { // Any other code ``` -The content of the diagnostic report can be returned as a JSON-compatible object +The content of the diagnostic report can be returned as a JavaScript Object via an API call from a JavaScript application: ```js const report = process.report.getReport(); -console.log(report); +console.log(typeof report === 'object'); // true + +// Similar to process.report.writeReport() output +console.log(JSON.stringify(report, null, 2)); ``` This function takes an optional additional argument `err` - an `Error` object @@ -476,7 +479,7 @@ that will be used as the context for the JavaScript stack printed in the report. ```js const report = process.report.getReport(new Error('custom error')); -console.log(report); +console.log(typeof report === 'object'); // true ``` The API versions are useful when inspecting the runtime state from within @@ -498,7 +501,7 @@ Node.js report completed > ``` -When a report is triggered, start and end messages are issued to stderr +When a report is written, start and end messages are issued to stderr and the filename of the report is returned to the caller. The default filename includes the date, time, PID and a sequence number. The sequence number helps in associating the report dump with the runtime state if generated multiple |