Create Logger.ts

This commit is contained in:
2021-09-14 09:56:54 -07:00
parent 4338149ba8
commit ca50e5f521
+55
View File
@@ -0,0 +1,55 @@
import winston from 'winston';
const levels = {
critical: 0,
error: 1,
alert: 2,
warn: 3,
info: 4,
http: 5,
debug: 6,
};
const level = () => {
const env = process.env.NODE_ENV || 'development';
const isDevelopment = env === 'development';
return isDevelopment ? 'debug' : 'warn';
};
const colors = {
critical: 'red',
error: 'red',
alert: 'red',
warn: 'yellow',
info: 'green',
http: 'magenta',
debug: 'white',
};
winston.addColors(colors);
const format = winston.format.combine(
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:ms' }),
winston.format.colorize({ all: true }),
winston.format.printf(
(info) => `[${info.timestamp}] [${info.level}] ${info.message}`
)
);
const transports = [
new winston.transports.Console(),
new winston.transports.File({
filename: 'logs/error.log',
level: 'error',
}),
new winston.transports.File({ filename: 'logs/all.log' }),
];
const Logger = winston.createLogger({
level: level(),
levels,
format,
transports,
});
export default Logger;