mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-11-03 13:11:46 +08:00
60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
var bodyParser = require('body-parser'),
|
|
cookieParser = require('cookie-parser'),
|
|
cors = require('cors'),
|
|
config = require('../config_server'),
|
|
express = require('express'),
|
|
winston = require('winston'),
|
|
expressWinston = require('express-winston');
|
|
|
|
require('winston-couchdb');
|
|
|
|
var app = express();
|
|
app.enable('trust proxy')
|
|
app.disable('x-powered-by');
|
|
|
|
app.use(cookieParser());
|
|
app.use(bodyParser.json());
|
|
|
|
if(process.env.NODE_ENV === 'production'){
|
|
var transports = [
|
|
new winston.transports.Console({
|
|
json: false,
|
|
colorize: false
|
|
})
|
|
];
|
|
if(config.info.usage_stats === true){
|
|
transports.push(new winston.transports.Couchdb({
|
|
host: 'log.kerjean.me',
|
|
db: 'log_nuage',
|
|
port: 443,
|
|
ssl: true,
|
|
}));
|
|
}
|
|
app.use(expressWinston.logger({
|
|
transports: transports,
|
|
requestWhitelist: [],
|
|
responseWhitelist: [],
|
|
meta: true,
|
|
exitOnError: false,
|
|
msg: "HTTP {{res.statusCode}} {{req.method}} {{req.url}} {{res.responseTime}}ms",
|
|
expressFormat: true,
|
|
colorize: false,
|
|
ignoreRoute: function (req, res) {
|
|
return /^\/api\//.test(req.originalUrl)? false : true;
|
|
},
|
|
dynamicMeta: function(req, res) {
|
|
return {
|
|
host: req.hostname,
|
|
protocol: req.protocol,
|
|
method:req.method,
|
|
pathname: req.originalUrl,
|
|
ip: req.ip,
|
|
referrer: req.get('Referrer'),
|
|
status: res.statusCode,
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
|
|
module.exports = app;
|