traxxx/src/logger.js

35 lines
1.2 KiB
JavaScript
Raw Normal View History

'use strict';
const util = require('util');
const winston = require('winston');
const args = require('./argv');
2020-01-13 22:45:09 +00:00
require('winston-daily-rotate-file');
function logger(filename) {
return winston.createLogger({
format: winston.format.combine(
winston.format.timestamp(),
winston.format.printf(info => `${info.timestamp} [${info.label}] ${info.level}: ${util.inspect(info.message)}`),
),
transports: [
new winston.transports.Console({
level: args.level,
format: winston.format.combine(
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
winston.format.colorize(),
// winston.format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`),
winston.format.printf(info => `${info.timestamp} ${info.level} [${filename}]: ${util.inspect(info.message)}`),
),
timestamp: true,
}),
new winston.transports.DailyRotateFile({
datePattern: 'YYYY-MM-DD',
filename: 'log/%DATE%.log',
level: 'silly',
}),
],
});
}
module.exports = logger;