let the user define a log file or a log format

log file defaults to standard out.

log format defaults to current behavior ('tiny' for production, 'dev' for dev, and not enabled in test)
This commit is contained in:
adrian
2019-04-13 11:55:37 -04:00
parent 63483a3155
commit 9dda95ee8e
2 changed files with 15 additions and 6 deletions

View File

@@ -41,12 +41,11 @@ function start(opts) {
app.enable('trust proxy');
if (process.env.NODE_ENV == 'production') {
app.use(morgan('tiny', {
skip: function(req, res) { return opts.silent && (res.statusCode == 200 || res.statusCode == 304) }
}));
} else if (process.env.NODE_ENV !== 'test') {
app.use(morgan('dev', {
if (process.env.NODE_ENV !== 'test') {
var defaultLogFormat = process.env.NODE_ENV == 'production' ? 'tiny' : 'dev';
var logFormat = opts.logFormat || defaultLogFormat;
app.use(morgan(logFormat, {
stream: opts.logFile ? fs.createWriteStream(opts.logFile, { flags: 'a' }) : process.stdout,
skip: function(req, res) { return opts.silent && (res.statusCode == 200 || res.statusCode == 304) }
}));
}