in src/libs/logger.ts [36:76]
private constructor() {
const { combine, timestamp, label, printf } = format;
const customFormat = printf(
({ level, message, label: printLabel, timestamp: printTimestamp }) => {
let colorizedLevel: string;
switch (level) {
case 'error':
colorizedLevel = chalk.bgRed(' ERROR ');
return `❌ ${colorizedLevel} ${chalk.red(message)}`;
case 'verbose':
colorizedLevel = chalk.magenta(level);
break;
case 'debug':
colorizedLevel = chalk.grey(level);
break;
case 'silly':
colorizedLevel = chalk.white(level);
break;
default:
colorizedLevel = level;
}
return `${printTimestamp} [${chalk.green(
printLabel
)}] ${colorizedLevel}: ${message}`;
}
);
this.logger = createLogger({
level: 'info',
format: combine(label({ label: 'Esa' }), timestamp(), customFormat),
transports: [
new transports.Console(),
new transports.File({
filename: path.join(os.homedir(), '.asea-logs/esa-debug.log'),
level: 'error'
})
]
});
this.spinner = ora('Loading...');
}