Skip to content

Instantly share code, notes, and snippets.

@hachi-eiji
Last active December 11, 2015 09:19
Show Gist options
  • Save hachi-eiji/4579538 to your computer and use it in GitHub Desktop.
Save hachi-eiji/4579538 to your computer and use it in GitHub Desktop.
Access log into MongoDB - Node.js - Express3.x - mongoose
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger(lib.log.db));
exports.log = {
stream : fs.createWriteStream('./log/access.log', { flags: 'a'}),
db : function(tokens, req, res){
var date = new Date(tokens.date(req)).getTime()
, method = tokens.method(req)
, statusCode = tokens.status(req, res)
, parsedUrl = url.parse(req.url)
, urlpath = parsedUrl.pathname
, querys = querystring.parse(parsedUrl.query)
, referrer = tokens.referrer(req)
;
var log = new Log({
date: date,
method: method,
statusCode: statusCode,
url: urlpath,
querys: querys,
referrer: referrer
});
return log.save();
}
};
var LogSchema = new Schema({
date: { type: Number },
method: { type: String },
statusCode: { type: Number },
url: { type: String },
querys: { type: Object },
referrer: { type: String }
});
exports.LogModel = mongoose.model('Log', LogSchema);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment