From b3b32034c5eb584ec51c85d90a6c0c60d40a31d0 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Fri, 4 Jan 2019 18:53:14 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20devModule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/dev.js | 16 +++++++++++++--- server/index.js | 25 ++++++++++++++----------- 2 files changed, 27 insertions(+), 14 deletions(-) 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');