Changelog
July 30, 2025 ยท View on GitHub
5.4.2
- #472 Add the gray color
and
log.transports.console.colorMapoption.
5.4.0
- #465 Allow using
%ctemplate for thetransports.console.format. This change may break formatting if you already use%cin your format string. In this case, you can runlog.transports.console.transforms.shift()before initializing the logger.
5.2.4
- Add Buffering feature.
5.2.0
- fix:
#436
log.logisn't bound tolog.info. Previously, it was processed with non-existentloglevel.
5.1.0
- New entry point for NW.js / Node.js apps:
'electron-log/node'
5.0.0
Core
- Now it's a time to use modern ES instead of ES5. It was a joy to use old-fashioned ES5, but since the library grows it becomes harder to follow its restrictions. Starting from v5 the library requires Node.js 14+ or Electron 13 at least.
- Now a renderer process just sends log data to the main through IPC, so only the main logger can be configured. See initialize for more information
- A new
tranformsproperty is added for each transport. It allows to configure transformations preformed on message data. See transforms for more information. log.create(logId)is replaced bylog.create({ logId })
File transport
archiveLogoptions is renamed toarchiveLogFnresolvePathoptions is renamed toresolvePathFn- All logs are written to main.log file. If you want to write renderer
logs to a separated file, you can do that by overriding
resolvePathFn
Console transport
writeFncallback is added. By default, it just passesmessage.datatoconsole.logfunction
Remote transport
onErroris renamed toprocessErrorFn({ error, message, request })transformBodyis renamed tomakeBodyFn({ logger, message, transport })
Electron event logger
To simplify app debugging the Electron event logging was implemented.
4.4.0
- Disable auto-loading of electron-log in the main process for using by ipc transport
4.3.0
- Add
transport.file.inspectOptions transport.file.depthis deprecated
4.2.3
- Add
transports.remote.onErroroption - Add
logMessageWithTransportsmethod - Add
transports.file.readAllLogsmethod
4.2.2
- Add
transports.file.depthoption
4.2.0
- Feature: Helper for custom log levels: log.levels.add
- Stringify Errors instead of converting to object
- Feature: Submit error report to github or other source
4.1.0
- Feature: Scopes
4.0.0
Core
-
multiple logger instances support.
const log = electronLog.create('loggerId') -
add object
log.functions -
Web Workers support
File transport
-
New default log file path:
- on Linux:
~/.config/{app name}/logs/{process type}.log - on macOS:
~/Library/Logs/{app name}/{process type}.log - on Windows:
%USERPROFILE%\AppData\Roaming\{app name}\logs\{process type}.log
- on Linux:
-
the option
file.fileNameis nowmain.log,renderer.logorworker.logdepending on process type -
new option
file.resolvePath -
new method
file.getFile() -
deprecated
file.file, usefile.resolvePathinstead -
deprecated
file.bytesWritten, usefile.getFile().bytesWritteninstead -
deprecated
file.fileSize, usefile.getFile().sizeinstead -
deprecated
file.clear(), usefile.getFile().clear()instead -
deprecated
file.findLogPath(), usefile.getFile().pathinstead -
deprecated
file.init(), doesn't matter anymore
IPC transport
mainConsoleandrendererConsoleare combined intoipctransport
3.0.0
- Now IPC is used only for some transports, which are disabled for a packaged application. So now electron-log works using almost the same way in the main and renderer processes. The reason - IPC is pretty slow and can freeze an application when there are a lot of calls.
- File transport doesn't use
stream.Writableanymore. - New feature: hooks.
- New feature: log file clearing.
- New feature: colors support.
- New feature: errors catching.
- Changed default format option for console transport.
- log-s transport is renamed to remote.
2.1.0
- Add Renderer Console transport
2.0.0
- Move log.appName property to log.transports.file.appName.
- Change a log message object. See updated Override transport section if you use custom transport.
- Now it's not possible to configure transports from a renderer process, only from the main.
- To disable a transport set its level to
false. - Fix problems when this package is used from a renderer process.
- Add Typescript definitions.
- Add log-s transport (experimental).
- Fix file transport appName detection when an application is run
in dev environment (through
electron .or similar way)
1.3.0
- #18 Rename 'warning' log level to 'warn'
1.2.0
- #14 Use native console levels instead of console.log
1.0.16
- Prefer to use package.json:productName instead of package.json:name to determine a log path.