Fixing issue #137
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
var layouts = require("../layouts"),
|
||||
mailer = require("nodemailer"),
|
||||
os = require('os');
|
||||
mailer = require("nodemailer"),
|
||||
os = require('os');
|
||||
|
||||
/**
|
||||
* SMTP Appender. Sends logging events using SMTP protocol.
|
||||
@@ -17,12 +17,13 @@ function smtpAppender(config, layout) {
|
||||
|
||||
var logEventBuffer = [];
|
||||
var sendTimer;
|
||||
var transport = mailer.createTransport(config.transport, config[config.transport]);
|
||||
|
||||
function sendBuffer() {
|
||||
if (logEventBuffer.length == 0)
|
||||
if (logEventBuffer.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
var transport = mailer.createTransport(config.transport, config[config.transport]);
|
||||
var firstEvent = logEventBuffer[0];
|
||||
var body = "";
|
||||
while (logEventBuffer.length > 0) {
|
||||
@@ -35,29 +36,33 @@ function smtpAppender(config, layout) {
|
||||
text: body,
|
||||
headers: {"Hostname": os.hostname()}
|
||||
};
|
||||
if (config.sender)
|
||||
if (config.sender) {
|
||||
msg.from = config.sender;
|
||||
}
|
||||
transport.sendMail(msg, function(error, success) {
|
||||
if (error) {
|
||||
console.error("log4js.smtpAppender - Error happened ", error);
|
||||
}
|
||||
transport.close();
|
||||
});
|
||||
}
|
||||
|
||||
function scheduleSend() {
|
||||
if (!sendTimer)
|
||||
if (!sendTimer) {
|
||||
sendTimer = setTimeout(function() {
|
||||
sendTimer = null;
|
||||
sendBuffer();
|
||||
}, sendInterval);
|
||||
}
|
||||
}
|
||||
|
||||
return function(loggingEvent) {
|
||||
logEventBuffer.push(loggingEvent);
|
||||
if (sendInterval > 0)
|
||||
if (sendInterval > 0) {
|
||||
scheduleSend();
|
||||
else
|
||||
} else {
|
||||
sendBuffer();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user