瀏覽代碼

Доработки логирования ошибок в дев-режиме

Book Pauk 6 年之前
父節點
當前提交
4379a9fa9f
共有 2 個文件被更改,包括 22 次插入2 次删除
  1. 10 0
      server/dev.js
  2. 12 2
      server/index.js

+ 10 - 0
server/dev.js

@@ -15,6 +15,16 @@ function webpackDevMiddleware(app) {
     app.use(hotMiddleware(compiler, {
     app.use(hotMiddleware(compiler, {
         log: log
         log: log
     }));
     }));
+
+    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}`);
+        res.once('finish', () => {
+            log(`${Date.now() - start}ms`);
+        });
+        next();
+    });    
 }
 }
 
 
 module.exports = {
 module.exports = {

+ 12 - 2
server/index.js

@@ -16,17 +16,27 @@ async function main() {
     log('Opening database');
     log('Opening database');
     await connPool.init();
     await connPool.init();
 
 
+    app.use(express.json());
+
     if (config.branch == 'development') {
     if (config.branch == 'development') {
         const devFileName = './dev.js'; //ignored by pkg
         const devFileName = './dev.js'; //ignored by pkg
         require(devFileName).webpackDevMiddleware(app);
         require(devFileName).webpackDevMiddleware(app);
     }
     }
 
 
     app.use(compression({ level: 1 }));
     app.use(compression({ level: 1 }));
-    app.use(express.static(config.publicDir, { maxAge: '1d' }));
-    app.use(express.json());
+    app.use(express.static(config.publicDir, { maxAge: '30d' }));
 
 
     require('./routes').initRoutes(app, connPool, config);
     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 {
+            res.sendStatus(500);
+        }
+    });
+
     app.listen(config.port, config.ip, function() {
     app.listen(config.port, config.ip, function() {
         log('Server is ready');
         log('Server is ready');
     });
     });