Add optional timezoneOffset config for appenders
Example:
log4js.configure({
appenders: [{type: 'console', timezoneOffset: -540}],
replaceConsole: true
});
The expected value is the equivalent of (new Date).getTimezoneOffset()
In this example, -540 is the value for JST.
This allows machines members of world-wide-spread cluster to all report
log time-stamps using the same timezone (or adapt the timezone to a
local different from the system)
This commit is contained in:
@@ -26,8 +26,10 @@ process.on('exit', function() {
|
||||
* if not provided then logs won't be rotated.
|
||||
* @param numBackups - the number of log files to keep after logSize
|
||||
* has been reached (default 5)
|
||||
* @param compress - flag that controls log file compression
|
||||
* @param timezoneOffset - optional timezone offset in minutes (default system local)
|
||||
*/
|
||||
function fileAppender (file, layout, logSize, numBackups, compress) {
|
||||
function fileAppender (file, layout, logSize, numBackups, compress, timezoneOffset) {
|
||||
var bytesWritten = 0;
|
||||
file = path.normalize(file);
|
||||
layout = layout || layouts.basicLayout;
|
||||
@@ -64,7 +66,7 @@ function fileAppender (file, layout, logSize, numBackups, compress) {
|
||||
openFiles.push(logFile);
|
||||
|
||||
return function(loggingEvent) {
|
||||
logFile.write(layout(loggingEvent) + eol, "utf8");
|
||||
logFile.write(layout(loggingEvent, timezoneOffset) + eol, "utf8");
|
||||
};
|
||||
|
||||
}
|
||||
@@ -79,7 +81,7 @@ function configure(config, options) {
|
||||
config.filename = path.join(options.cwd, config.filename);
|
||||
}
|
||||
|
||||
return fileAppender(config.filename, layout, config.maxLogSize, config.backups, config.compress);
|
||||
return fileAppender(config.filename, layout, config.maxLogSize, config.backups, config.compress, config.timezoneOffset);
|
||||
}
|
||||
|
||||
function shutdown(cb) {
|
||||
|
||||
Reference in New Issue
Block a user