crashReporter
crash-reporter
모듈은 어플리케이션의 크래시 정보를 자동으로 원격 서버에
업로드하는데 사용합니다.
다음 예제는 윈격 서버에 어플리케이션 크래시 정보를 자동으로 보고하는 예제입니다:
const crashReporter = require('electron').crashReporter;
crashReporter.start({
productName: 'YourName',
companyName: 'YourCompany',
submitURL: 'https://your-domain.com/url-to-submit',
autoSubmit: true
});
Methods
crash-reporter
모듈은 다음과 같은 메서드를 가지고 있습니다:
crashReporter.start(options)
options
ObjectcompanyName
StringsubmitURL
String - 크래시 리포트는 POST 방식으로 이 URL로 전송됩니다.productName
String (optional) - 기본값은Electron
입니다.autoSubmit
Boolean - 유저의 승인 없이 자동으로 오류를 보고합니다. 기본값은true
입니다.ignoreSystemCrashHandler
Boolean - 기본값은false
입니다.extra
Object - 크래시 리포트 시 같이 보낼 추가 정보를 지정하는 객체입니다. 문자열로 된 속성만 정상적으로 보내집니다. 중첩된 객체는 지원되지 않습니다.
다른 crashReporter API를 사용하기 전에 이 메서드를 먼저 호출해야 합니다.
참고: OS X에선 Windows와 Linux의 breakpad
와 달리 새로운 crashpad
클라이언트를 사용합니다. 오류 수집 기능을 활성화 시키려면 오류를 수집하고 싶은 메인
프로세스나 랜더러 프로세스에서 crashReporter.start
메서드를 호출하여 crashpad
를
초기화 해야합니다.
crashReporter.getLastCrashReport()
마지막 크래시 리포트의 날짜와 ID를 반환합니다.
이전 크래시 리포트가 없거나 Crash Reporter가 시작되지 않았을 경우 null
이 반환됩니다.
crashReporter.getUploadedReports()
모든 업로드된 크래시 리포트를 반환합니다. 각 보고는 날짜와 업로드 ID를 포함하고 있습니다.
crash-reporter 업로드 형식
Crash Reporter는 다음과 같은 데이터를 submitURL
에 POST
방식으로 전송합니다:
ver
String - Electron의 버전platform
String - 예시 'win32'process_type
String - 예시 'renderer'guid
String - e.g. '5e1286fc-da97-479e-918b-6bfb0c3d1c72'_version
String -package.json
내의version
필드_productName
String - Crash Reporter의options
객체에서 정의한 제품명.prod
String - 기본 제품의 이름. 이 경우 Electron으로 표시됩니다._companyName
String - Crash Reporter의options
객체에서 정의한 회사명.upload_file_minidump
File - 크래시 리포트 파일- Crash Reporter의
options
객체에서 정의한extra
객체의 속성들.