electron-log
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -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 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
20685
489
2