diff --git a/README.md b/README.md index d328a74..359a21e 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,21 @@ server.start({ }); ``` +You can configure logging options as well via `logger` + +```js +server.start({ + logger: { + level: 'ALL', + appenders: [ + { type: 'console' } + ] + }, +}); +``` + +We use the (https://github.com/nomiddlename/log4js-node/wiki/Connect-Logger)[log4js] connect logger. Learn more about the available options from their project. Be sure to set `options.logger.level` to enable the logger. + ## Global Install diff --git a/index.js b/index.js index 6f7636d..0a4f98d 100644 --- a/index.js +++ b/index.js @@ -5,12 +5,14 @@ var path = require('path') var serveStatic = require('serve-static') var serveStaticFile = require('connect-static-file') var compression = require('compression') +var log4js = require('log4js') var app = connect() const PORT = 9000 const DIRECTORY = 'public' const FILE = 'index.html' const HOST = '0.0.0.0' +const LOGGEROPTIONS = {} exports.start = function (options, _onStarted) { options = options || {} @@ -20,16 +22,25 @@ exports.start = function (options, _onStarted) { let directories = options.directories || [directory] let file = options.file || FILE let host = options.host || HOST + let loggerOptions = options.logger || LOGGEROPTIONS let onStarted = _onStarted || function () {} app.use(compression()) - // First, check the file system + // configure logger + log4js.configure(loggerOptions) + if (loggerOptions.level) { + const logger = log4js.getLogger() + logger.setLevel(loggerOptions.level) + app.use(log4js.connectLogger(logger, { level: log4js.levels[loggerOptions.level] })) + } + + // check the file system directories.forEach(function(directory) { app.use(serveStatic(directory, { extensions: ['html'] })) }) - // Then, serve the fallback file + // serve the fallback file app.use(serveStaticFile(path.join(directory, file))) return app.listen(port, host, function (err) { diff --git a/package.json b/package.json index 21a6380..4968479 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "compression": "1.6.2", "connect": "3.5.0", "connect-static-file": "1.1.2", + "log4js": "1.1.0", "serve-static": "1.11.2" }, "devDependencies": {