2018-03-31 03:30:30 +08:00
|
|
|
import * as winston from 'winston';
|
2017-06-04 04:35:47 +08:00
|
|
|
|
2017-06-04 21:25:08 +08:00
|
|
|
export const winstonSettings = {
|
2017-06-11 04:32:56 +08:00
|
|
|
transports: [
|
|
|
|
new winston.transports.Console({
|
2018-05-13 00:19:51 +08:00
|
|
|
level: process.env.NODE_ENV === 'production' ? 'info' : 'silly',
|
2017-06-11 04:32:56 +08:00
|
|
|
handleExceptions: true,
|
|
|
|
json: false,
|
|
|
|
colorize: true,
|
|
|
|
timestamp: function () {
|
|
|
|
return (new Date()).toLocaleString();
|
|
|
|
},
|
2018-03-31 03:30:30 +08:00
|
|
|
label: 'innerLabel',
|
2017-06-11 04:32:56 +08:00
|
|
|
formatter: (options) => {
|
|
|
|
// Return string will be passed to logger.
|
|
|
|
return options.timestamp() + '[' + winston['config']['colorize'](options.level, options.level.toUpperCase()) + '] ' +
|
|
|
|
(undefined !== options.message ? options.message : '') +
|
2018-03-31 03:30:30 +08:00
|
|
|
(options.meta && Object.keys(options.meta).length ? '\n\t' + JSON.stringify(options.meta) : '');
|
2017-06-11 04:32:56 +08:00
|
|
|
},
|
|
|
|
debugStdout: true
|
|
|
|
})
|
|
|
|
],
|
|
|
|
exitOnError: false
|
2017-06-04 21:25:08 +08:00
|
|
|
};
|
|
|
|
|
2017-06-11 04:32:56 +08:00
|
|
|
export const Logger = new winston.Logger(winstonSettings);
|