Perplexica/src/utils/logger.ts

29 lines
864 B
TypeScript
Raw Normal View History

2024-04-30 12:18:18 +05:30
import winston from 'winston';
2025-02-02 12:14:15 +02:00
const { combine, timestamp, printf, colorize } = winston.format;
const logFormat = printf(({ timestamp, level, message }) => {
return `${timestamp} [${level.toUpperCase()}]: ${message}`;
});
2024-04-30 12:18:18 +05:30
const logger = winston.createLogger({
2025-02-02 12:14:15 +02:00
level: process.env.LOG_LEVEL || 'info',
format: combine(
timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
colorize(), // optional color in dev
logFormat
),
2024-04-30 12:18:18 +05:30
transports: [
2025-02-02 12:14:15 +02:00
// Console transport ensures Docker sees logs on stdout
new winston.transports.Console(),
new winston.transports.File({ filename: 'app.log' }),
// Optional: file transport if you also want to persist logs on the containers filesystem
// new winston.transports.File({ filename: 'app.log' }),
2024-04-30 12:18:18 +05:30
],
});
2025-02-02 12:14:15 +02:00
logger.info("✅ Winston logger active, logging to console!");
2024-04-30 12:18:18 +05:30
export default logger;