Installed log4js as logging framework

This commit is contained in:
Peter 'Pita' Martischka 2011-07-31 18:25:51 +01:00
parent 22b00264d8
commit b30849c2f2
7 changed files with 41 additions and 27 deletions

View file

@ -303,7 +303,7 @@ Class('Pad', {
if(entries[i]==null)
cleanedEntries.push(entries[i]);
else
console.log("WARNING: Found broken chat entry in pad " + _this.id);
console.warn("WARNING: Found broken chat entry in pad " + _this.id);
}
callback(err, cleanedEntries);

View file

@ -319,11 +319,6 @@ function handleUserInfoUpdate(client, message)
}
}
function errlog(name, value)
{
console.error(name+"=" + JSON.stringify(value));
}
/**
* Handles a USERINFO_UPDATE, that means that a user have changed his color or name. Anyway, we get both informations
* This Method is nearly 90% copied out of the Etherpad Source Code. So I can't tell you what happens here exactly
@ -418,7 +413,7 @@ function handleUserChanges(client, message)
if (Changeset.oldLen(changeset) != prevText.length)
{
console.log("Can't apply USER_CHANGES "+changeset+" with oldLen " + Changeset.oldLen(changeset) + " to document of length " + prevText.length);
console.warn("Can't apply USER_CHANGES "+changeset+" with oldLen " + Changeset.oldLen(changeset) + " to document of length " + prevText.length);
client.json.send({disconnect:"badChangeset"});
callback();
return;

View file

@ -19,6 +19,9 @@
* limitations under the License.
*/
var log4js = require('log4js');
var messageLogger = log4js.getLogger("message");
/**
* Saves all components
* key is the component name
@ -54,7 +57,7 @@ exports.setSocketIO = function(_socket)
client._send = client.send;
client.send = function(message)
{
console.log(new Date().toUTCString() + ": message to " + client.id + ": " + JSON.stringify(message));
messageLogger.info("to " + client.id + ": " + JSON.stringify(message));
client._send(message);
}
@ -68,14 +71,14 @@ exports.setSocketIO = function(_socket)
{
if(message.protocolVersion && message.protocolVersion != 2)
{
console.error("Protocolversion header is not correct:" + JSON.stringify(message));
messageLogger.warn("Protocolversion header is not correct:" + JSON.stringify(message));
return;
}
//route this message to the correct component, if possible
if(message.component && components[message.component])
{
console.log(new Date().toUTCString() + ": message from " + client.id + ": " + JSON.stringify(message));
messageLogger.info("from " + client.id + ": " + JSON.stringify(message));
//check if component is registered in the components array
if(components[message.component])
@ -85,7 +88,7 @@ exports.setSocketIO = function(_socket)
}
else
{
console.error("Can't route the message:" + JSON.stringify(message));
messageLogger.error("Can't route the message:" + JSON.stringify(message));
}
});

View file

@ -32,6 +32,7 @@ var express = require('express');
var path = require('path');
var minify = require('./utils/Minify');
var formidable = require('formidable');
var log4js = require('log4js');
var exportHandler;
var importHandler;
var exporthtml;
@ -48,7 +49,7 @@ try
}
catch(e)
{
console.error("Can't get git version for server header\n" + e.message)
console.warn("Can't get git version for server header\n" + e.message)
}
var serverName = "Etherpad-Lite " + version + " (http://j.mp/ep-lite)";
@ -74,9 +75,12 @@ async.waterfall([
exportHandler = require('./handler/ExportHandler');
importHandler = require('./handler/ImportHandler');
//set logging
if(settings.logHTTP)
app.use(express.logger({ format: ':date: :status, :method :url' }));
//install logging
var httpLogger = log4js.getLogger("http");
app.configure(function()
{
app.use(log4js.connectLogger(httpLogger, { level: log4js.levels.INFO, format: ':status, :method :url'}));
});
//serve static files
app.get('/static/*', function(req, res)
@ -224,7 +228,7 @@ async.waterfall([
{
new formidable.IncomingForm().parse(req, function(err, fields, files)
{
console.log(new Date().toUTCString() + ": DIAGNOSTIC-INFO: " + fields.diagnosticInfo);
console.log("DIAGNOSTIC-INFO: " + fields.diagnosticInfo);
res.end("OK");
});
});
@ -264,8 +268,26 @@ async.waterfall([
//we should remove this when the new socket.io version is more stable
io.set('transports', ['xhr-polling']);
//reduce the log level
io.set('log level', 2);
var socketIOLogger = log4js.getLogger("socket.io");
io.set('logger', {
debug: function (str)
{
//supress debug messages
//socketIOLogger.debug(str);
},
info: function (str)
{
socketIOLogger.info(str);
},
warn: function (str)
{
socketIOLogger.warn(str);
},
error: function (str)
{
socketIOLogger.error(str);
},
});
//minify socket.io javascript
if(settings.minify)

View file

@ -38,10 +38,6 @@ exports.dbType = "sqlite";
* This setting is passed with dbType to ueberDB to set up the database
*/
exports.dbSettings = { "filename" : "../var/sqlite.db" };
/**
* A flag that shows if http requests should be loged to stdout
*/
exports.logHTTP = true;
/**
* The default Text of a new pad
*/
@ -93,6 +89,6 @@ for(var i in settings)
else
{
console.error("WARNING: Unkown Setting: '" + i + "'");
console.error("If this isn't a mistake, add the default settings for this value to node/settings.js");
console.error("This setting doesn't exist or it was removed");
}
}