You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.3 KiB
28 lines
1.3 KiB
import * as expressWinston from 'express-winston'
|
|
import * as winston from 'winston'
|
|
import * as moment from 'moment'
|
|
|
|
const tsFormat = (ts) => moment(ts).format('YYYY-MM-DD HH:mm:ss').trim();
|
|
|
|
const logger = expressWinston.logger({
|
|
transports: [
|
|
new winston.transports.Console()
|
|
],
|
|
format: winston.format.combine(
|
|
winston.format.timestamp(),
|
|
winston.format.colorize(),
|
|
winston.format.printf(info=>{
|
|
return `-> ${tsFormat(info.timestamp)}: ${info.message}`
|
|
})
|
|
),
|
|
meta: false, // optional: control whether you want to log the meta data about the request (default to true)
|
|
// msg: "HTTP {{req.method}} {{req.url}}", // optional: customize the default logging message. E.g. "{{res.statusCode}} {{req.method}} {{res.responseTime}}ms {{req.url}}"
|
|
expressFormat: true, // Use the default Express/morgan request formatting. Enabling this will override any msg if true. Will only output colors with colorize set to true
|
|
colorize: true, // Color the text and status code, using the Express/morgan color palette (text: gray, status: default green, 3XX cyan, 4XX yellow, 5XX red).
|
|
ignoreRoute: function (req, res) {
|
|
if(req.path.startsWith('/json')) return true // debugger
|
|
return false;
|
|
} // optional: allows to skip some log messages based on request and/or response
|
|
})
|
|
|
|
export default logger
|