Merge pull request #355 from cyclemap/master
let the user define a log file or a log format
This commit is contained in:
commit
f771d41788
2 changed files with 15 additions and 6 deletions
10
src/main.js
10
src/main.js
|
@ -54,6 +54,14 @@ var opts = require('commander')
|
||||||
'-s, --silent',
|
'-s, --silent',
|
||||||
'Less verbose output'
|
'Less verbose output'
|
||||||
)
|
)
|
||||||
|
.option(
|
||||||
|
'-l|--log_file <file>',
|
||||||
|
'output log file (defaults to standard out)'
|
||||||
|
)
|
||||||
|
.option(
|
||||||
|
'-f|--log_format <format>',
|
||||||
|
'define the log format: https://github.com/expressjs/morgan#morganformat-options'
|
||||||
|
)
|
||||||
.version(
|
.version(
|
||||||
packageJson.version,
|
packageJson.version,
|
||||||
'-v, --version'
|
'-v, --version'
|
||||||
|
@ -74,6 +82,8 @@ var startServer = function(configPath, config) {
|
||||||
port: opts.port,
|
port: opts.port,
|
||||||
cors: opts.cors,
|
cors: opts.cors,
|
||||||
silent: opts.silent,
|
silent: opts.silent,
|
||||||
|
logFile: opts.log_file,
|
||||||
|
logFormat: opts.log_format,
|
||||||
publicUrl: publicUrl
|
publicUrl: publicUrl
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -41,12 +41,11 @@ function start(opts) {
|
||||||
|
|
||||||
app.enable('trust proxy');
|
app.enable('trust proxy');
|
||||||
|
|
||||||
if (process.env.NODE_ENV == 'production') {
|
if (process.env.NODE_ENV !== 'test') {
|
||||||
app.use(morgan('tiny', {
|
var defaultLogFormat = process.env.NODE_ENV == 'production' ? 'tiny' : 'dev';
|
||||||
skip: function(req, res) { return opts.silent && (res.statusCode == 200 || res.statusCode == 304) }
|
var logFormat = opts.logFormat || defaultLogFormat;
|
||||||
}));
|
app.use(morgan(logFormat, {
|
||||||
} else if (process.env.NODE_ENV !== 'test') {
|
stream: opts.logFile ? fs.createWriteStream(opts.logFile, { flags: 'a' }) : process.stdout,
|
||||||
app.use(morgan('dev', {
|
|
||||||
skip: function(req, res) { return opts.silent && (res.statusCode == 200 || res.statusCode == 304) }
|
skip: function(req, res) { return opts.silent && (res.statusCode == 200 || res.statusCode == 304) }
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue