const chalk = require('chalk');

const log = {
    info: (msg) => console.log(chalk.blue('ℹ️ [INFO]'), msg),
    success: (msg) => console.log(chalk.green('✅ [SUCCESS]'), msg),
    warning: (msg) => console.log(chalk.yellow('⚠️ [WARNING]'), msg),
    error: (msg) => console.log(chalk.red('❌ [ERROR]'), msg),
    table: (objArray) => console.table(objArray),
    group: (label, fn) => {
        console.group(chalk.magenta(`📦 ${label}`));
        fn();
        console.groupEnd();
    },
    time: (label) => console.time(chalk.cyan(label)),
    timeEnd: (label) => console.timeEnd(chalk.cyan(label)),
};

/* 예시
log.info('서버를 시작합니다...');
log.success('✅ DB 연결 성공!');
log.warning('⚠️ 개발 환경에서만 실행 중입니다.');
log.error('❌ 포트 충돌 - 3000번이 사용 중입니다');

log.group('서버 환경', () => {
    console.log('NODE_ENV:', process.env.NODE_ENV);
    console.log('PORT:', process.env.PORT || 3000);
});

log.table([
    { id: 1, name: 'Alice', role: 'Admin' },
    { id: 2, name: 'Bob', role: 'User' }
]);

log.time('처리 시간 측정');
setTimeout(() => {
    log.timeEnd('처리 시간 측정');
}, 800);
*/

module.exports = { log };