diff --git a/server/src/logger.ts b/server/src/logger.ts new file mode 100644 index 00000000..d0ecc24e --- /dev/null +++ b/server/src/logger.ts @@ -0,0 +1,19 @@ +import { createLogger, format, transports } from 'winston'; +import { DEBUG, LOGS_PATH } from "./constants/config"; + +const { combine, timestamp, printf } = format; + +const logger = createLogger({ + format: combine( + timestamp(), + printf(info => `${info.timestamp} ${info.level}: ${info.message}`), + ), + defaultMeta: { service: 'user-service' }, + transports: [ + new transports.Console({ level: DEBUG ? 'info' : 'debug' }), + new transports.File({ filename: `${LOGS_PATH}/error.log`, level: 'error' }), + new transports.File({ filename: `${LOGS_PATH}/combined.log`, level: 'debug' }), + ], +}); + +export default logger;