Socket
Socket
Sign inDemoInstall

electron-log

Package Overview
Dependencies
Maintainers
1
Versions
152
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

electron-log - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1

107

lib/transports/file/index.js

@@ -18,27 +18,67 @@ 'use strict';

function transport(msg) {
var text = format.format(msg, transport.format);
var text = format.format(msg, transport.format) + EOL;
if (undefined === transport.stream) {
transport.file = transport.file || findLogPath(transport.appName);
if (!transport.file) {
transport.level = false;
consoleTransport({
data: ['electron-log.transports.file: Could not set a log file'],
date: msg.date,
level: 'warn'
});
return;
}
if (transport.stream === undefined) {
initSteamConfig();
openStream();
}
if (transport.maxSize > 0) {
logRotate(transport.file, transport.maxSize);
if (transport.level === false) {
return;
}
if (getStreamSize(transport.stream) > transport.maxSize) {
archiveLog(transport.stream);
openStream();
}
transport.stream.write(text);
}
function initSteamConfig() {
transport.file = transport.file || findLogPath(transport.appName);
if (!transport.file) {
transport.level = false;
logConsole('Could not set a log file');
}
}
function openStream() {
if (transport.level === false) {
return;
}
transport.stream = fs.createWriteStream(
transport.file,
transport.streamConfig || { flags: 'a' }
);
}
function getStreamSize(stream) {
if (!stream) {
return 0;
}
if (stream.logSizeAtStart === undefined) {
try {
stream.logSizeAtStart = fs.statSync(stream.path).size;
} catch (e) {
stream.logSizeAtStart = 0;
}
}
transport.stream = fs.createWriteStream(
transport.file,
transport.streamConfig || { flags: 'a' }
);
return stream.logSizeAtStart + stream.bytesWritten;
}
function archiveLog(stream) {
if (stream.end) {
stream.end();
}
transport.stream.write(text + EOL);
try {
fs.renameSync(stream.path, stream.path.replace(/log$/, 'old.log'));
} catch (e) {
logConsole('Could not rotate log', e);
}
}

@@ -48,9 +88,9 @@

var date =
msg.date.getFullYear() + '-' +
format.pad(msg.date.getMonth() + 1) + '-' +
format.pad(msg.date.getDate()) + ' ' +
format.pad(msg.date.getHours()) + ':' +
format.pad(msg.date.getMinutes()) + ':' +
format.pad(msg.date.getSeconds()) + ':' +
format.pad(msg.date.getMilliseconds(), 4);
msg.date.getFullYear() + '-' +
format.pad(msg.date.getMonth() + 1) + '-' +
format.pad(msg.date.getDate()) + ' ' +
format.pad(msg.date.getHours()) + ':' +
format.pad(msg.date.getMinutes()) + ':' +
format.pad(msg.date.getSeconds()) + ':' +
format.pad(msg.date.getMilliseconds(), 4);

@@ -61,9 +101,10 @@ return '[' + date + '] [' + msg.level + '] ' +

function logRotate(file, maxSize) {
try {
const stat = fs.statSync(file);
if (stat.size > maxSize) {
fs.renameSync(file, file.replace(/log$/, 'old.log'));
}
} catch (e) {}
function logConsole(message, error) {
var data = ['electron-log.transports.file: ' + message];
if (error) {
data.push(error);
}
consoleTransport({ data: data, date: new Date(), level: 'warn' });
}
{
"name": "electron-log",
"version": "2.0.0",
"version": "2.0.1",
"description": "Just a very simple logging module for your Electron application",

@@ -5,0 +5,0 @@ "main": "./index.js",

@@ -81,3 +81,3 @@ # electron-log

// Set a function which formats output
log.transports.console.format = (msg) => msg.text;
log.transports.console.format = (msg) => util.format.apply(util, msg.data);
```

@@ -92,4 +92,4 @@

// Set maximum log size in bytes. When it exceeds, old log will be saved
// as log.old.log file
// Set approximate maximum log size in bytes. When it exceeds,
// the archived log will be saved as the log.old.log file
log.transports.file.maxSize = 5 * 1024 * 1024;

@@ -128,3 +128,3 @@

**2.0.0 (will be available on npm soon)**
**2.0.0**
- Move log.appName property to log.transports.file.appName.

@@ -131,0 +131,0 @@ - Change a log message object. See updated

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc