Add logging

This commit is contained in:
Jake Howard 2016-10-30 12:02:53 +00:00
parent 0b1090035a
commit 01fbdbbfe8
Signed by: jake
GPG key ID: 57AFB45680EDD477
3 changed files with 25 additions and 9 deletions

View file

@ -1,6 +1,7 @@
{
"extends": "./node_modules/eslint-config/.eslintrc",
"env": {
"node": true
"node": true,
"browser": false
}
}

View file

@ -23,7 +23,9 @@
"compression": "=1.6.2",
"connect-static-file": "=1.1.2",
"express": "=4.14.0",
"helmet": "=2.3.0"
"express-winston": "=2.0.0",
"helmet": "=2.3.0",
"winston": "=2.2.0"
},
"devDependencies": {
"eslint": "=1.9.0",

View file

@ -3,33 +3,46 @@ const staticFile = require('connect-static-file');
const compression = require('compression');
const helmet = require('helmet');
const path = require('path');
const winston = require('winston');
const expressWinston = require('express-winston');
const PORT = process.env.PORT || 5000;
const SERVE_DIR = path.join(__dirname, '/site');
const PAGE_404 = path.join(SERVE_DIR, '.404.html');
const directory = /\/$/;
const expressConfig = {
const EXPRESS_CONFIG = {
dotfiles: 'ignore',
index: false,
redirect: true
};
const LOGGER_MESSAGE = '{{ req.url }}'
.concat('status:{{ res.statusCode }} ')
.concat('useragent:{{ req.headers["user-agent"] }} ')
.concat('time:{{ res.responseTime }}ms');
const app = express();
app.use(compression({ level: 9 }));
app.use(helmet());
app.use(expressWinston.logger({
transports: [
new winston.transports.Console({
colorize: true
})
],
meta: false,
msg: LOGGER_MESSAGE,
colorize: true,
statusLevels: true
}));
app.use(function (request, response, next) {
if (directory.exec(request.url)) {
if (request.url.endsWith('/')) {
request.url = path.join(request.url, 'index.html');
}
next();
});
app.use(express.static(SERVE_DIR, expressConfig));
app.use(express.static(SERVE_DIR, EXPRESS_CONFIG));
app.use(function (request, response, next) {
response.statusCode = 404;