Skip to content

Commit

Permalink
Installed log4js as logging framework
Browse files Browse the repository at this point in the history
  • Loading branch information
Pita committed Jul 31, 2011
1 parent 22b0026 commit b30849c
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 27 deletions.
2 changes: 1 addition & 1 deletion node/db/Pad.js
Expand Up @@ -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);
Expand Down
7 changes: 1 addition & 6 deletions node/handler/PadMessageHandler.js
Expand Up @@ -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
Expand Down Expand Up @@ -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;
Expand Down
11 changes: 7 additions & 4 deletions node/handler/SocketIORouter.js
Expand Up @@ -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
Expand Down Expand Up @@ -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);
}

Expand All @@ -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])
Expand All @@ -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));
}
});

Expand Down
36 changes: 29 additions & 7 deletions node/server.js
Expand Up @@ -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;
Expand All @@ -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)";
Expand All @@ -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)
Expand Down Expand Up @@ -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");
});
});
Expand Down Expand Up @@ -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)
Expand Down
6 changes: 1 addition & 5 deletions node/utils/Settings.js
Expand Up @@ -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
*/
Expand Down Expand Up @@ -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");
}
}
3 changes: 2 additions & 1 deletion package.json
Expand Up @@ -18,7 +18,8 @@
"clean-css" : "0.2.4",
"uglify-js" : "1.0.6",
"gzip" : "0.1.0",
"formidable" : "1.0.2"
"formidable" : "1.0.2",
"log4js" : "0.3.7"
},
"version" : "0.0.4"
}
3 changes: 0 additions & 3 deletions settings.json.template
Expand Up @@ -25,9 +25,6 @@
},
*/

//if true, every http request will be loged to stdout
"logHTTP" : true,

//the default text of a pad
"defaultPadText" : "Welcome to Etherpad Lite!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nEtherpad Lite on Github: http:\/\/j.mp/ep-lite\n",

Expand Down

0 comments on commit b30849c

Please sign in to comment.