|
5 | 5 | * @author Hermann Mayer <hermann.mayer92@gmail.com>
|
6 | 6 | */
|
7 | 7 |
|
8 |
| -var cluster = require('cluster'); |
9 |
| -var winston = require('winston'); |
10 |
| -var moment = require('moment'); |
11 |
| -var colors = require('colors'); |
12 |
| -var extend = require('extend'); |
13 |
| -var getopt = require('node-getopt'); |
14 |
| - |
| 8 | +var cluster = require('cluster'); |
| 9 | +var winston = require('winston'); |
| 10 | +var expressWinston = require('express-winston'); |
| 11 | +var moment = require('moment'); |
| 12 | +var colors = require('colors'); |
| 13 | +var extend = require('extend'); |
| 14 | +var getopt = require('node-getopt'); |
15 | 15 | var ControllerLoader = require('../http/mvc/loader');
|
16 | 16 |
|
17 | 17 | /**
|
@@ -94,15 +94,28 @@ var Worker = function(options)
|
94 | 94 |
|
95 | 95 | return part;
|
96 | 96 | },
|
97 |
| - "level" : 'debug', |
98 |
| - "silent" : false |
| 97 | + level : 'debug', |
| 98 | + silent : false |
99 | 99 | })
|
100 | 100 | ]
|
101 | 101 | };
|
102 | 102 |
|
103 |
| - var loggerConf = extend(true, defaultLoggerConf, this.options.logger || {}); |
| 103 | + var loggerConf = extend(true, {}, defaultLoggerConf, this.options.logger || {}); |
104 | 104 | this.logger = new winston.Logger(loggerConf);
|
105 | 105 | greppy.logger = global.logger = this.logger;
|
| 106 | + |
| 107 | + // Setup winston request logger |
| 108 | + var defaultRequestLoggerConf = { |
| 109 | + transports: [ |
| 110 | + new (winston.transports.File)({ |
| 111 | + json: false, |
| 112 | + filename: process.cwd() + '/var/log/' + greppy.context + '.access.log' |
| 113 | + }) |
| 114 | + ] |
| 115 | + }; |
| 116 | + |
| 117 | + var requestLoggerConf = extend(false, {}, defaultRequestLoggerConf, this.options.requestLogger || {}); |
| 118 | + this.requestLogger = expressWinston.logger(requestLoggerConf); |
106 | 119 | };
|
107 | 120 |
|
108 | 121 | /**
|
@@ -135,6 +148,9 @@ Worker.prototype.configure = function(app, server, callback)
|
135 | 148 |
|
136 | 149 | var setupModules = function()
|
137 | 150 | {
|
| 151 | + // Push the request logger to the middleware stack |
| 152 | + app.use(self.requestLogger); |
| 153 | + |
138 | 154 | var listenServer = function() {
|
139 | 155 |
|
140 | 156 | // Load all routes into the application
|
@@ -226,7 +242,7 @@ Worker.prototype.configure = function(app, server, callback)
|
226 | 242 | }
|
227 | 243 |
|
228 | 244 | // Configure the app with Greppy enhancements
|
229 |
| - var defaultApp = new (require('./worker/app'))(self.context); |
| 245 | + var defaultApp = new (require('./worker/app'))(self); |
230 | 246 |
|
231 | 247 | defaultApp.configure(self.app, self.server, listenServer);
|
232 | 248 | }
|
|
0 commit comments