Merge pull request #355 from cyclemap/master

let the user define a log file or a log format
This commit is contained in:
Petr Sloup 2019-04-15 08:00:28 +02:00 committed by GitHub
commit f771d41788
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 6 deletions

View file

@ -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
}); });
}; };

View file

@ -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) }
})); }));
} }