Anuj
Anuj

Reputation: 633

Electron app - logging to file in production

I want to get logs if something wrong happens to my electron app when in production mode i.e after giving .exe file to a user wrt windows platform.

How to go about it, how can i basically write my errors to a file which will be in cyclic in nature.

Upvotes: 19

Views: 26432

Answers (3)

Kuza Grave
Kuza Grave

Reputation: 1574

Create a file next to you electron.js called logger.js

const path = require("path");
const log = require('electron-log');

log.transports.file.resolvePath = () => path.join(__dirname, '/logsmain.log');
log.transports.file.level = "info";

exports.log = (entry) => log.info(entry)

then on your app

const logger = require('electron').remote.require('./logger');
logger.log("some text")

Upvotes: 1

syonip
syonip

Reputation: 2971

Take a look at electron log

// Setup file logging
const log = require('electron-log');
log.transports.file.level = 'info';
log.transports.file.file = __dirname + 'log.log';

// Log a message
log.info('log message');

EDIT:

As mentioned in the comments the "log.transports.file.file" is deprecated.

Instead I would suggest to use the following method.

log.transports.file.resolvePath = () => __dirname + "/log.log";

Upvotes: 16

Bitzu
Bitzu

Reputation: 133

Please have a look here: https://www.electronjs.org/docs/api/net-log

const { netLog } = require('electron')

app.whenReady().then(async () => {
  await netLog.startLogging('/path/to/net-log')
  // After some network events
  const path = await netLog.stopLogging()
  console.log('Net-logs written to', path)
})

Upvotes: -2

Related Questions