2015-08-27 15:11:51 +00:00
|
|
|
# crashReporter
|
2013-08-14 22:43:35 +00:00
|
|
|
|
2015-08-25 12:01:57 +00:00
|
|
|
The `crash-reporter` module enables sending your app's crash reports.
|
|
|
|
|
2015-08-25 12:16:20 +00:00
|
|
|
The following is an example of automatically submitting a crash report to a
|
|
|
|
remote server:
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
```javascript
|
2015-11-12 13:20:09 +00:00
|
|
|
const crashReporter = require('electron').crashReporter;
|
2015-08-28 17:50:30 +00:00
|
|
|
|
2013-11-14 05:39:44 +00:00
|
|
|
crashReporter.start({
|
|
|
|
productName: 'YourName',
|
|
|
|
companyName: 'YourCompany',
|
|
|
|
submitUrl: 'https://your-domain.com/url-to-submit',
|
|
|
|
autoSubmit: true
|
|
|
|
});
|
2013-08-14 22:43:35 +00:00
|
|
|
```
|
|
|
|
|
2015-08-25 12:01:57 +00:00
|
|
|
## Methods
|
|
|
|
|
|
|
|
The `crash-reporter` module has the following methods:
|
|
|
|
|
|
|
|
### `crashReporter.start(options)`
|
2013-11-13 11:12:13 +00:00
|
|
|
|
2015-08-28 17:50:02 +00:00
|
|
|
`options` Object, properties:
|
|
|
|
|
|
|
|
* `productName` String, default: Electron.
|
|
|
|
* `companyName` String, default: GitHub, Inc.
|
|
|
|
* `submitUrl` String, default: http://54.249.141.255:1127/post.
|
|
|
|
* URL that crash reports will 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 that will be sent along with the report.
|
|
|
|
* Only string properties are sent correctly.
|
|
|
|
* Nested objects are not supported.
|
2014-05-22 12:20:17 +00:00
|
|
|
|
2015-08-27 15:11:51 +00:00
|
|
|
You are required to call this method before using other `crashReporter`
|
2015-08-25 12:16:20 +00:00
|
|
|
APIs.
|
2015-06-05 11:05:55 +00:00
|
|
|
|
2015-07-23 17:02:45 +00:00
|
|
|
**Note:** On OS X, Electron uses a new `crashpad` client, which is different
|
|
|
|
from `breakpad` on Windows and Linux. To enable the crash collection feature,
|
2015-08-25 12:16:20 +00:00
|
|
|
you are required to call the `crashReporter.start` API to initialize `crashpad`
|
|
|
|
in the main process and in each renderer process from which you wish to collect
|
|
|
|
crash reports.
|
2015-05-30 02:03:59 +00:00
|
|
|
|
2015-08-25 12:01:57 +00:00
|
|
|
### `crashReporter.getLastCrashReport()`
|
2014-11-11 12:20:36 +00:00
|
|
|
|
2015-07-23 17:02:45 +00:00
|
|
|
Returns the date and ID of the last crash report. If no crash reports have been
|
|
|
|
sent or the crash reporter has not been started, `null` is returned.
|
2014-11-11 12:20:36 +00:00
|
|
|
|
2015-08-25 12:01:57 +00:00
|
|
|
### `crashReporter.getUploadedReports()`
|
2015-06-05 11:05:55 +00:00
|
|
|
|
2015-08-26 23:28:44 +00:00
|
|
|
Returns all uploaded crash reports. Each report contains the date and uploaded
|
|
|
|
ID.
|
2015-06-05 11:05:55 +00:00
|
|
|
|
2015-08-25 12:01:57 +00:00
|
|
|
## crash-reporter Payload
|
2014-05-22 12:20:17 +00:00
|
|
|
|
|
|
|
The crash reporter will send the following data to the `submitUrl` as `POST`:
|
|
|
|
|
2015-08-25 12:18:02 +00:00
|
|
|
* `ver` String - The version of Electron.
|
|
|
|
* `platform` String - e.g. 'win32'.
|
|
|
|
* `process_type` String - e.g. 'renderer'.
|
2015-11-12 13:20:09 +00:00
|
|
|
* `guid` String - e.g. '5e1286fc-da97-479e-918b-6bfb0c3d1c72'
|
2015-08-25 12:18:02 +00:00
|
|
|
* `_version` String - The version in `package.json`.
|
2015-08-25 12:16:20 +00:00
|
|
|
* `_productName` String - The product name in the `crashReporter` `options`
|
2015-08-25 12:18:02 +00:00
|
|
|
object.
|
|
|
|
* `prod` String - Name of the underlying product. In this case Electron.
|
2015-08-25 12:16:20 +00:00
|
|
|
* `_companyName` String - The company name in the `crashReporter` `options`
|
2015-08-25 12:18:02 +00:00
|
|
|
object.
|
|
|
|
* `upload_file_minidump` File - The crash report as file.
|
|
|
|
* All level one properties of the `extra` object in the `crashReporter`.
|
2015-08-25 12:16:20 +00:00
|
|
|
`options` object
|