cb3e758bc6
It was unclear to us until we looked through the atom source code that crashReporter.start must be ran in each renderer process
61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# crash-reporter
|
|
|
|
An example of automatically submitting crash reporters to a remote server:
|
|
|
|
```javascript
|
|
crashReporter = require('crash-reporter');
|
|
crashReporter.start({
|
|
productName: 'YourName',
|
|
companyName: 'YourCompany',
|
|
submitUrl: 'https://your-domain.com/url-to-submit',
|
|
autoSubmit: true
|
|
});
|
|
```
|
|
|
|
## crashReporter.start(options)
|
|
|
|
* `options` Object
|
|
* `productName` String, default: Electron
|
|
* `companyName` String, default: GitHub, Inc
|
|
* `submitUrl` String, default: http://54.249.141.255:1127/post
|
|
* URL that crash reports would be sent to as POST
|
|
* `autoSubmit` Boolean, default: true
|
|
* Send the crash report without user interaction
|
|
* `ignoreSystemCrashHandler` Boolean, default: false
|
|
* `extra` Object
|
|
* An object you can define which content will be send along with the report.
|
|
* Only string properties are sent correctly.
|
|
* Nested objects are not supported.
|
|
|
|
Developers are required to call this method before using other crashReporter APIs.
|
|
|
|
|
|
**Note:** On OS X, electron uses a new `crashpad` client, which is different
|
|
with the `breakpad` on Windows and Linux. To enable crash collection feature,
|
|
you are required to call `crashReporter.start` API to initialize `crashpad` in
|
|
main process and in each renderer process that you wish to collect crash reports.
|
|
|
|
## crashReporter.getLastCrashReport()
|
|
|
|
Returns the date and ID of the last crash report, when there was no crash report
|
|
sent or the crash reporter is not started, `null` will be returned.
|
|
|
|
## crashReporter.getUploadedReports()
|
|
|
|
Returns all uploaded crash reports, each report contains date and uploaded ID.
|
|
|
|
# crash-reporter payload
|
|
|
|
The crash reporter will send the following data to the `submitUrl` as `POST`:
|
|
|
|
* `rept` String - e.g. 'electron-crash-service'
|
|
* `ver` String - The version of Electron
|
|
* `platform` String - e.g. 'win32'
|
|
* `process_type` String - e.g. 'renderer'
|
|
* `ptime` Number
|
|
* `_version` String - The version in `package.json`
|
|
* `_productName` String - The product name in the crashReporter `options` object
|
|
* `prod` String - Name of the underlying product. In this case Electron
|
|
* `_companyName` String - The company name in the crashReporter `options` object
|
|
* `upload_file_minidump` File - The crashreport as file
|
|
* All level one properties of the `extra` object in the crashReporter `options` object
|