2016-12-14 5 views
6

나는 Electron으로 앱을 만들고 Electron-Builder을 사용하여 Squirrel windows installer와 updater를 만들었습니다. 그것은 모두 잘 작동하지만 내 애플 리케이션의 프로덕션 버전을 디버깅하는 데 문제가 있습니다.프로덕션 환경에서 내 Electron 앱의 로그를 어디에서 찾을 수 있습니까?

생산 버전을 사용할 때의 로그가 디스크의 어딘가에 쓰여 있습니까? 그렇다면 어디에서 찾을 수 있습니까? 아니면 실행 파일을 컴파일 할 때 모두 삭제됩니까? 내 응용 프로그램을위한 일종의 로그 파일이 있어야합니까?

C:\Users\Tieme\AppData\Local\MyApp\SquirrelSetupLog에서 SquirrelSetupLog를 찾았지만 프로덕션 전용 문제를 디버깅하기에는 충분하지 않습니다.


그냥 electron-log으로 왔습니다. 일반 콘솔 로그는 실제로 어딘가에 디스크에 기록되지 않은 경우 즉, 웹 애플리케이션 내에서 콘솔을 의미하는 경우,이 당신은이 작업을 위해 콜백을해야 :)

적용

답변

4

.. 일할 수 있습니다. 다음 logger.js라는 이름의 전자 main.js에 파일에서

이 코드를 추가합니다 : http://electron.atom.io/docs/api/remote/ 여기

짧은 예입니다 : 여기에 대해 자세히 알아 당신의 웹 애플리케이션에

exports.log = (entry) => { 
    console.log(entry); 
} 

그 다음을, 또한 https://www.npmjs.com/package/electron-log 좀보고 할 수 있습니다

// This line gets the code from the newly created file logger.js 
const logger = require('electron').remote.require('./logger'); 

// This line calls the function exports.log from the logger.js file, but 
// this happens in the context of the electron app, so from here you can 
// see it in the console when running the electron app or write to disk. 
logger.log('Woohoo!'); 

:이 로그 방식의 콜백을 호출이 사용 "더 나은"로깅 및 디스크 쓰기 작업. 하지만 항상 콜백을 사용해야합니다.

+0

그래, 그렇다면이 로그를 디스크에 직접 기록하는 고유 한 방법을 제공해야한다는 의미입니까? 알 겠어. console.log의 출력이 어딘가에 자동으로 디스크에 기록되기를 바랄뿐입니다. 전자 로그가 좋아 보인다. 감사. – Tieme

+0

예. 전자 메일 로깅 패키지를 사용하면 로그 파일을 실제로 작성하여 더 쉽게 만들 수 있습니다. –