diff --git a/server/dev.js b/server/dev.js index d4a0b919..8c1f0a2f 100644 --- a/server/dev.js +++ b/server/dev.js @@ -15,18 +15,28 @@ function webpackDevMiddleware(app) { app.use(hotMiddleware(compiler, { log: log })); +} +function logQueries(app) { app.use(function(req, res, next) { const start = Date.now(); - const params = (req.body ? req.body.params : ''); - log(`${req.method} ${req.originalUrl} ${req.body.params}`); + log(`${req.method} ${req.originalUrl} ${JSON.stringify(req.body)}`); res.once('finish', () => { log(`${Date.now() - start}ms`); }); next(); + }); +} + +function logErrors(app) { + app.use(function(err, req, res, next) { + log(LM_ERR, err.stack); + res.status(500).send(err.stack); }); } module.exports = { - webpackDevMiddleware + webpackDevMiddleware, + logQueries, + logErrors }; \ No newline at end of file diff --git a/server/index.js b/server/index.js index c83f5104..e2493a93 100644 --- a/server/index.js +++ b/server/index.js @@ -16,26 +16,29 @@ async function main() { log('Opening database'); await connPool.init(); - app.use(express.json()); - + let devModule = undefined; if (config.branch == 'development') { - const devFileName = './dev.js'; //ignored by pkg - require(devFileName).webpackDevMiddleware(app); + const devFileName = './dev.js'; //ignored by pkg -50Mb executable size + devModule = require(devFileName); + devModule.webpackDevMiddleware(app); } app.use(compression({ level: 1 })); + app.use(express.json()); + if (devModule) + devModule.logQueries(app); app.use(express.static(config.publicDir, { maxAge: '30d' })); require('./routes').initRoutes(app, connPool, config); - app.use(function(err, req, res, next) { - log(LM_ERR, err.stack); - if (config.branch == 'development') { - res.status(500).send(err.stack); - } else { + if (devModule) { + devModule.logErrors(app); + } else { + app.use(function(err, req, res, next) { + log(LM_ERR, err.stack); res.sendStatus(500); - } - }); + }); + } app.listen(config.port, config.ip, function() { log('Server is ready');