Electron crashReporter 模塊

2019-08-14 19:21 更新

crash-reporter 模塊開啟發(fā)送應用崩潰報告.

下面是一個自動提交崩潰報告給服務器的例子 :

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

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

可以使用下面的項目來創(chuàng)建一個服務器,用來接收和處理崩潰報告 :

方法

crash-reporter 模塊有如下方法:

crashReporter.start(options)

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

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

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

crashReporter.getLastCrashReport()

返回最后一個崩潰報告的日期和 ID.如果沒有過崩潰報告發(fā)送過來,或者還沒有開始崩潰報告搜集,將返回 null .

crashReporter.getUploadedReports()

返回所有上載的崩潰報告,每個報告包含了上載日期和 ID.

crash-reporter Payload

崩潰報告將發(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 對象中的產(chǎn)品名字.
  • prod String - 基礎產(chǎn)品名字. 這種情況為 Electron.
  • _companyName String - crashReporter options 對象中的公司名字.
  • upload_file_minidump File - 崩潰報告按照 minidump 的格式.
  • crashReporter 中的 extra 對象的所有等級和一個屬性. options object
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號