web-dev-qa-db-ja.com

生産中のElectronアプリのログはどこにありますか?

Electron でアプリを構築し、 Electron-Builder を使用して Squirrel Windowsインストーラーとアップデーターを作成しました。すべてうまくいきますが、アプリの製品版のデバッグに問題があります。

console.logによって作成されたログは、製品版を使用しているときにディスク上のどこかに書き込まれますか?もしそうなら、どこで見つけることができますか?または、実行可能ファイルをコンパイルするときにすべて削除されますか?アプリのログファイルには何らかの種類が必要です。

SquirrelSetupLogをC:\Users\Tieme\AppData\Local\MyApp\SquirrelSetupLogで見つけましたが、実稼働のみの問題をデバッグするには十分ではありません。


電子ログ に出会ったばかりです。通常のコンソールログが実際にどこかにディスクに書き込まれない場合、それは機能する可能性があります.

13
Tieme

Webapp内からコンソールを意味する場合、これが適用されます:)

これを機能させるには、コールバックを作成する必要があります。詳細については、こちらをご覧ください: http://electron.atom.io/docs/api/remote/

短い例を次に示します。

電子の隣のファイルmain.js、名前はlogger.js、次のコードを追加します。

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

そして、webappで、これを使用してこのログメソッドコールバックを呼び出します。

// 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!');

また、「より良い」ロギングとディスクへの書き込みについては https://www.npmjs.com/package/electron-log をご覧ください。ただし、常にコールバックを使用する必要があります。

古い質問ですが、package.json(これはメインプロセスからのコンソールに適用されます)

 "main": "app/src/main.js",
  "scripts": {
    "postinstall": "install-app-deps",
    "start": "npm install && electron . > /tmp/electron-app.log",
    "pack": "build --dir",
    "dist": "build",
    "dist:win": "build --platform win32",
    "dist:linux": "build --platform linux"
  }

どこかから/ tmp /パスを取得するように、少し詳しく説明するかもしれませんが、アイデアは得られます:)

私は受け入れられた答えについてアドバイスし、一般的にレンダラーから常に「メイン」を呼び出すことについてアドバイスします。旅。レンダラーはハンドブレーキで実行されます!

1
rupps