From a479fa144e8e0cb17b7de9d043e73437a1673a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uli=20K=C3=B6hler?= Date: Sat, 29 Sep 2012 23:26:58 +0200 Subject: [PATCH] Prepared logging code to be able to read log4js appenders from settings.json --- etherpad_logging.json | 3 --- settings.json.template | 6 ++++++ src/node/db/DB.js | 4 +++- src/node/handler/PadMessageHandler.js | 4 +++- src/node/handler/SocketIORouter.js | 5 ++++- src/node/hooks/express/apicalls.js | 5 ++++- src/node/hooks/express/socketio.js | 7 +++++-- src/node/hooks/express/webaccess.js | 3 ++- src/node/server.js | 4 +++- src/node/utils/ImportHtml.js | 4 +++- src/node/utils/Settings.js | 5 +++++ 11 files changed, 38 insertions(+), 12 deletions(-) delete mode 100644 etherpad_logging.json diff --git a/etherpad_logging.json b/etherpad_logging.json deleted file mode 100644 index fe634940f..000000000 --- a/etherpad_logging.json +++ /dev/null @@ -1,3 +0,0 @@ -{ "appenders": [ - { "type": "console" } -] } diff --git a/settings.json.template b/settings.json.template index 7d175a34e..c99045d18 100644 --- a/settings.json.template +++ b/settings.json.template @@ -26,6 +26,12 @@ }, */ + //Logging configuration. See log4js documentation for further information + "logconfig" : + { "appenders": [ + { "type": "console" } + ] }, + //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", diff --git a/src/node/db/DB.js b/src/node/db/DB.js index b52a39d28..544112f59 100644 --- a/src/node/db/DB.js +++ b/src/node/db/DB.js @@ -22,7 +22,9 @@ var ueberDB = require("ueberDB"); var settings = require("../utils/Settings"); var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); + +//Configure the logging appenders +log4js.configure(settings.logconfig); //set database settings var db = new ueberDB.database(settings.dbType, settings.dbSettings, null, log4js.getLogger("ueberDB")); diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index aa0d591da..555964cab 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -31,11 +31,13 @@ var settings = require('../utils/Settings'); var securityManager = require("../db/SecurityManager"); var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins.js"); var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); var messageLogger = log4js.getLogger("message"); var _ = require('underscore'); var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks.js"); +//Configure the logging appenders +log4js.configure(settings.logconfig); + /** * A associative array that saves which sessions belong to a pad */ diff --git a/src/node/handler/SocketIORouter.js b/src/node/handler/SocketIORouter.js index bf3023105..52ea56e83 100644 --- a/src/node/handler/SocketIORouter.js +++ b/src/node/handler/SocketIORouter.js @@ -21,10 +21,13 @@ var ERR = require("async-stacktrace"); var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); +var settings = require('../../utils/Settings'); var messageLogger = log4js.getLogger("message"); var securityManager = require("../db/SecurityManager"); +//Configure the logging appenders +log4js.configure(settings.logconfig); + /** * Saves all components * key is the component name diff --git a/src/node/hooks/express/apicalls.js b/src/node/hooks/express/apicalls.js index d8f1a2116..c9471035b 100644 --- a/src/node/hooks/express/apicalls.js +++ b/src/node/hooks/express/apicalls.js @@ -1,9 +1,12 @@ var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); +var settings = require('../../utils/Settings'); var apiLogger = log4js.getLogger("API"); var formidable = require('formidable'); var apiHandler = require('../../handler/APIHandler'); +//Configure the logging appenders +log4js.configure(settings.logconfig); + //This is for making an api call, collecting all post information and passing it to the apiHandler var apiCaller = function(req, res, fields) { res.header("Content-Type", "application/json; charset=utf-8"); diff --git a/src/node/hooks/express/socketio.js b/src/node/hooks/express/socketio.js index 9a2eb3353..0dec7f039 100644 --- a/src/node/hooks/express/socketio.js +++ b/src/node/hooks/express/socketio.js @@ -1,9 +1,12 @@ var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); var socketio = require('socket.io'); -var settings = require('../../utils/Settings'); +var settings = require('../../utils/Settings.js'); var socketIORouter = require("../../handler/SocketIORouter"); var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks"); +console.dir("adgadgqadgaegaega"); + +//Configure the logging appenders +log4js.configure(settings.logconfig); var padMessageHandler = require("../../handler/PadMessageHandler"); diff --git a/src/node/hooks/express/webaccess.js b/src/node/hooks/express/webaccess.js index 5ff05807f..965c30b9c 100644 --- a/src/node/hooks/express/webaccess.js +++ b/src/node/hooks/express/webaccess.js @@ -1,11 +1,12 @@ var express = require('express'); var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); var httpLogger = log4js.getLogger("http"); var settings = require('../../utils/Settings'); var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; var hooks = require('ep_etherpad-lite/static/js/pluginfw/hooks'); +//Configure the logging appenders +log4js.configure(settings.logconfig); //checks for basic http auth exports.basicAuth = function (req, res, next) { diff --git a/src/node/server.js b/src/node/server.js index 4fae93022..45ead512c 100755 --- a/src/node/server.js +++ b/src/node/server.js @@ -22,7 +22,6 @@ */ var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); var settings = require('./utils/Settings'); var db = require('./db/DB'); var async = require('async'); @@ -30,6 +29,9 @@ var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins"); var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks"); var npm = require("npm/lib/npm.js"); +//Configure the logging appenders +log4js.configure(settings.logconfig); + hooks.plugins = plugins; //set loglevel diff --git a/src/node/utils/ImportHtml.js b/src/node/utils/ImportHtml.js index 7afe24aff..66c7ff81c 100644 --- a/src/node/utils/ImportHtml.js +++ b/src/node/utils/ImportHtml.js @@ -16,8 +16,10 @@ var jsdom = require('jsdom-nocontextifiy').jsdom; var log4js = require('log4js'); -log4js.configure('etherpad_logging.json'); +var settings = require('../../utils/Settings'); +//Configure the logging appenders +log4js.configure(settings.logconfig); var Changeset = require("ep_etherpad-lite/static/js/Changeset"); var contentcollector = require("ep_etherpad-lite/static/js/contentcollector"); diff --git a/src/node/utils/Settings.js b/src/node/utils/Settings.js index dd34ac5ee..413579947 100644 --- a/src/node/utils/Settings.js +++ b/src/node/utils/Settings.js @@ -82,6 +82,11 @@ exports.abiword = null; */ exports.loglevel = "INFO"; +/* +* log4js appender configuration +*/ +exports.logconfig = { appenders: [{ type: "console" }]}; + /* This setting is used if you need authentication and/or * authorization. Note: /admin always requires authentication, and * either authorization by a module, or a user with is_admin set */