Electron crashReporter 模塊

2019-08-14 19:21 更新

crash-reporter 模塊開啟發(fā)送應(yīng)用崩潰報(bào)告.

下面是一個(gè)自動(dòng)提交崩潰報(bào)告給服務(wù)器的例子 :

const crashReporter = require('electron').crashReporter;

crashReporter.start({
  productName: 'YourName',
  companyName: 'YourCompany',
  submitURL: 'https://your-domain.com/url-to-submit',
  autoSubmit: true
});

可以使用下面的項(xiàng)目來(lái)創(chuàng)建一個(gè)服務(wù)器,用來(lái)接收和處理崩潰報(bào)告 :

方法

crash-reporter 模塊有如下方法:

crashReporter.start(options)

  • options Object
    • companyName String
    • submitURL String - 崩潰報(bào)告發(fā)送的路徑,以post方式.
    • productName String (可選) - 默認(rèn)為 Electron.
    • autoSubmit Boolean - 是否自動(dòng)提交. 默認(rèn)為 true.
    • ignoreSystemCrashHandler Boolean - 默認(rèn)為 false.
    • extra Object - 一個(gè)你可以定義的對(duì)象,附帶在崩潰報(bào)告上一起發(fā)送 . 只有字符串屬性可以被正確發(fā)送,不支持嵌套對(duì)象.

只可以在使用其它 crashReporter APIs 之前使用這個(gè)方法.

注意: 在 OS X, Electron 使用一個(gè)新的 crashpad 客戶端, 與 Windows 和 Linux 的 breakpad 不同. 為了開啟崩潰點(diǎn)搜集,你需要在主進(jìn)程和其它每個(gè)你需要搜集崩潰報(bào)告的渲染進(jìn)程中調(diào)用 crashReporter.startAPI 來(lái)初始化 crashpad.

crashReporter.getLastCrashReport()

返回最后一個(gè)崩潰報(bào)告的日期和 ID.如果沒(méi)有過(guò)崩潰報(bào)告發(fā)送過(guò)來(lái),或者還沒(méi)有開始崩潰報(bào)告搜集,將返回 null .

crashReporter.getUploadedReports()

返回所有上載的崩潰報(bào)告,每個(gè)報(bào)告包含了上載日期和 ID.

crash-reporter Payload

崩潰報(bào)告將發(fā)送下面 multipart/form-data POST 型的數(shù)據(jù)給 submitURL :

  • ver String - Electron 版本.
  • platform String - 例如 'win32'.
  • process_type String - 例如 'renderer'.
  • guid String - 例如 '5e1286fc-da97-479e-918b-6bfb0c3d1c72'
  • _version String - package.json 版本.
  • _productName String - crashReporter options 對(duì)象中的產(chǎn)品名字.
  • prod String - 基礎(chǔ)產(chǎn)品名字. 這種情況為 Electron.
  • _companyName String - crashReporter options 對(duì)象中的公司名字.
  • upload_file_minidump File - 崩潰報(bào)告按照 minidump 的格式.
  • crashReporter 中的 extra 對(duì)象的所有等級(jí)和一個(gè)屬性. options object
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)