Backported the old streams. Nasty if statements abound.
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
var streams = require('../streams'),
|
||||
layouts = require('../layouts'),
|
||||
path = require('path'),
|
||||
os = require('os'),
|
||||
eol = os.EOL || '\n',
|
||||
openFiles = [];
|
||||
var semver = require('semver')
|
||||
, layouts = require('../layouts')
|
||||
, path = require('path')
|
||||
, os = require('os')
|
||||
, eol = os.EOL || '\n'
|
||||
, openFiles = []
|
||||
, streams;
|
||||
|
||||
//close open files on process exit.
|
||||
process.on('exit', function() {
|
||||
@@ -20,29 +21,36 @@ process.on('exit', function() {
|
||||
* @layout layout function for log messages - defaults to basicLayout
|
||||
*/
|
||||
function appender(filename, pattern, layout) {
|
||||
layout = layout || layouts.basicLayout;
|
||||
layout = layout || layouts.basicLayout;
|
||||
var logFile;
|
||||
|
||||
var logFile = new streams.DateRollingFileStream(filename, pattern);
|
||||
openFiles.push(logFile);
|
||||
|
||||
return function(logEvent) {
|
||||
logFile.write(layout(logEvent) + eol, "utf8");
|
||||
};
|
||||
if (semver.satisfies(process.version, '>=0.10.0')) {
|
||||
streams = require('../streams');
|
||||
logFile = new streams.DateRollingFileStream(filename, pattern);
|
||||
} else {
|
||||
streams = require('../old-streams');
|
||||
logFile = new streams.BufferedWriteStream(new streams.DateRollingFileStream(filename, pattern));
|
||||
}
|
||||
openFiles.push(logFile);
|
||||
|
||||
return function(logEvent) {
|
||||
logFile.write(layout(logEvent) + eol, "utf8");
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
function configure(config, options) {
|
||||
var layout;
|
||||
var layout;
|
||||
|
||||
if (config.layout) {
|
||||
layout = layouts.layout(config.layout.type, config.layout);
|
||||
}
|
||||
|
||||
if (config.layout) {
|
||||
layout = layouts.layout(config.layout.type, config.layout);
|
||||
}
|
||||
if (options && options.cwd && !config.absolute) {
|
||||
config.filename = path.join(options.cwd, config.filename);
|
||||
}
|
||||
|
||||
if (options && options.cwd && !config.absolute) {
|
||||
config.filename = path.join(options.cwd, config.filename);
|
||||
}
|
||||
|
||||
return appender(config.filename, config.pattern, layout);
|
||||
return appender(config.filename, config.pattern, layout);
|
||||
}
|
||||
|
||||
exports.appender = appender;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
var layouts = require('../layouts')
|
||||
, path = require('path')
|
||||
, fs = require('fs')
|
||||
, streams = require('../streams')
|
||||
, os = require('os')
|
||||
, eol = os.EOL || '\n'
|
||||
, openFiles = [];
|
||||
, path = require('path')
|
||||
, fs = require('fs')
|
||||
, semver = require('semver')
|
||||
, os = require('os')
|
||||
, eol = os.EOL || '\n'
|
||||
, openFiles = [];
|
||||
|
||||
//close open files on process exit.
|
||||
process.on('exit', function() {
|
||||
@@ -22,7 +22,7 @@ process.on('exit', function() {
|
||||
* @param numBackups - the number of log files to keep after logSize has been reached (default 5)
|
||||
*/
|
||||
function fileAppender (file, layout, logSize, numBackups) {
|
||||
var bytesWritten = 0;
|
||||
var logFile;
|
||||
file = path.normalize(file);
|
||||
layout = layout || layouts.basicLayout;
|
||||
numBackups = numBackups === undefined ? 5 : numBackups;
|
||||
@@ -30,7 +30,9 @@ function fileAppender (file, layout, logSize, numBackups) {
|
||||
numBackups = numBackups === 0 ? 1 : numBackups;
|
||||
|
||||
function openTheStream(file, fileSize, numFiles) {
|
||||
var stream;
|
||||
var stream
|
||||
, streams = require('../streams');
|
||||
|
||||
if (fileSize) {
|
||||
stream = new streams.RollingFileStream(
|
||||
file,
|
||||
@@ -46,7 +48,31 @@ function fileAppender (file, layout, logSize, numBackups) {
|
||||
return stream;
|
||||
}
|
||||
|
||||
var logFile = openTheStream(file, logSize, numBackups);
|
||||
function openTheOldStyleStream(file, fileSize, numFiles) {
|
||||
var stream
|
||||
, streams = require('../old-streams');
|
||||
if (fileSize) {
|
||||
stream = new streams.BufferedWriteStream(
|
||||
new streams.RollingFileStream(
|
||||
file,
|
||||
fileSize,
|
||||
numFiles
|
||||
)
|
||||
);
|
||||
} else {
|
||||
stream = new streams.BufferedWriteStream(fs.createWriteStream(file, { encoding: "utf8", mode: 0644, flags: 'a' }));
|
||||
}
|
||||
stream.on("error", function (err) {
|
||||
console.error("log4js.fileAppender - Writing to file %s, error happened ", file, err);
|
||||
});
|
||||
return stream;
|
||||
}
|
||||
|
||||
if (semver.satisfies(process.version, '>=0.10.0')) {
|
||||
logFile = openTheStream(file, logSize, numBackups);
|
||||
} else {
|
||||
logFile = openTheOldStyleStream(file, logSize, numBackups);
|
||||
}
|
||||
|
||||
// push file to the stack of open handlers
|
||||
openFiles.push(logFile);
|
||||
|
||||
Reference in New Issue
Block a user