diff --git a/public/src/templates.js b/public/src/templates.js index 82c0438b05..a47ac42e73 100644 --- a/public/src/templates.js +++ b/public/src/templates.js @@ -306,4 +306,4 @@ module: { exports: {} } -} : module) \ No newline at end of file +} : module) diff --git a/public/templates/admin/header.tpl b/public/templates/admin/header.tpl index 72469a018a..8a5ca43dae 100644 --- a/public/templates/admin/header.tpl +++ b/public/templates/admin/header.tpl @@ -84,6 +84,7 @@
  • Plugins
  • Settings
  • Redis
  • +
  • Logger
  • MOTD
  • @@ -107,4 +108,4 @@ -
    \ No newline at end of file +
    diff --git a/public/templates/admin/logger.tpl b/public/templates/admin/logger.tpl new file mode 100644 index 0000000000..c8abacff9b --- /dev/null +++ b/public/templates/admin/logger.tpl @@ -0,0 +1,33 @@ +

    Logger

    +
    + +

    Logger Settings

    +
    + +

    + By enabling the check box, you will receive http logs to standard output. If you specify a path, logs will then be saved to a file instead. +

    +
    + +
    + + +
    + + +
    +
    +
    + + + + diff --git a/public/templates/config.json b/public/templates/config.json index f97cd5ce26..636ef7f0b3 100644 --- a/public/templates/config.json +++ b/public/templates/config.json @@ -11,6 +11,7 @@ "^admin/settings.*": "admin/settings", "admin/twitter.*": "admin/twitter", "admin/facebook.*": "admin/facebook", + "admin/logger.*": "admin/logger", "admin/gplus.*": "admin/gplus", "admin/motd/?$": "admin/motd", "admin/groups/?$": "admin/groups", @@ -41,4 +42,4 @@ "force_refresh": { "logout": true } -} \ No newline at end of file +} diff --git a/src/routes/admin.js b/src/routes/admin.js index b6db9cf925..a26a1be15c 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -30,7 +30,7 @@ var user = require('./../user.js'), (function () { var routes = [ 'categories/active', 'categories/disabled', 'users', 'topics', 'settings', 'themes', - 'twitter', 'facebook', 'gplus', 'redis', 'motd', 'groups', + 'twitter', 'facebook', 'gplus', 'redis', 'motd', 'groups','logger', 'users/latest', 'users/sort-posts', 'users/sort-reputation', 'users/search', 'plugins' ]; @@ -224,6 +224,10 @@ var user = require('./../user.js'), res.json(200, {}); }); + app.get('/logger', function(req, res) { + res.json(200, {}); + }); + app.get('/themes', function (req, res) { res.json(200, {}); }); @@ -257,4 +261,4 @@ var user = require('./../user.js'), }; -}(exports)); \ No newline at end of file +}(exports)); diff --git a/src/webserver.js b/src/webserver.js index 7212d3d235..3911c59c16 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -79,9 +79,16 @@ var express = require('express'), function(next) { // Pre-router middlewares app.use(express.compress()); - if(nconf.get("express:logger") == true) { - app.use(express.logger()); + + if(nconf.get("express:logger") == true || meta.config.loggerStatus > 0) { + var loggerObj = {}; + if(meta.config.loggerPath) { + loggerObj.stream = fs.createWriteStream(meta.config.loggerPath, {flags: 'a'}); + meta.config.loggerStream = loggerObj.stream + } + app.use(express.logger(loggerObj)); } + app.use(express.favicon(path.join(__dirname, '../', 'public', 'favicon.ico'))); app.use(require('less-middleware')({ src: path.join(__dirname, '../', 'public'),